Let's admit it - coding solo is the most fun. It's great to have an understanding of the whole code. It's great to have your coding style used for the whole code. It's great not having to connect to other people's ugly and buggy code.

However, one must be careful when coding solo, and still apply good coding tools and practices. Here is what I do for my pet projects:

  • Source control. CVS/MKS/Subversion - whatever, as long as source control is used. Use it for the whole code - check in often in small pieces, use labels to tag releases and major builds.
  • Backup - this is very important and often overlooked by solo coders. You must have your code (the whole CVS tree) backed up somewhere. Whether you have local backups or just send it all zipped to your Gmail account periodically - don't forget to back up !
  • (Unit) testing. Have unit/regression testing where possible. Keep it in CVS too !
  • Keep a todo list. While for pet projects full-features bug tracking systems are mostly an overkill, a simple todo file is a must.
  • Documentation. Do document ! You'll come back to some code in a year, and will have no idea what it does. I'm currently playing with Doxygen trying to make docs for my ESMS project - I'll report the progress later.

Conclusion: even though it's your own small project, correct software development practices and good tools are essential. Never forget about it, and enjoy solo coding !