A good programmer always starts a project with source control in mind. Not only is this good programming practice but it also ensures that the hard work that you’re putting in is not going to waste. If you’re working for a reputable company, chances are that they’ve already got source control guidelines in place. However if you tend to be doing personal projects, you are more likely to get carried away and not use any source control of any sort.
It’s plain laziness, nothing more! However the consequences can be devasting. For example, I was working on a project for a week and I’d have to say that I spent probably 4 days on a single PHP page, coding and testing it and when it was time to upload it to my server, I accidentally overwrote my local copy with the outdated one from my server. I went crazy and tried to find a backup somewhere but I couldn’t get anything with my latest codes.
Lesson learned and I don’t want to spend time re-writing what I’ve already coded, so now before I start a new project, I make sure that I’ve got source control in place. For this new project that I’m tackling at the moment, I’m using unfuddle.com free service which gives me 200MB of storage for my repository. I’ll be the only person making changes to the codebase but having the source control is important to me now after what happened. I’ve downloaded TortoiseSVN to easily checkout/checking from the repository from windows interface but I might try to download the Ankh plugin for Visual Studio as well.
So far everything is going well and now the next thing that I need sorting out is to learn how to use Fluent nHibernate before the project can kick off.