A versioning tool can be used for purposes other than saving different versions of your files.
One of the key feature, is to make code review easier.
Let’s start by explaining what code review is:
Code review entails looking at source code with the intention of finding mistakes to improve overall software quality.
All you do is read it and try to understand it, like you would read a math book.
Most of the time, by doing this simple thing, you will discover bugs! Fixing these bug will be far easier than using the usual process (no need for testing and tracing into the code to find these bugs.)
– How a versioning system can help you ?
It stores different versions of a source code, so before sending your new version (submit/commit) you can display which lines in the source code have changed!
There are usually 3 “human” configurations:
– A senior programmer and a junior programmer: Before sending code produced by a junior programmer into the main code base, an experienced programmer should carry out a code review.
If modifications are good, it’s submit/commit. If code quality is not good enough, the junior programmer will continue working with the help of the senior.
– Two senior programmers: Even a senior programmer can create a bug… Even a senior programmer can produce obscure code. A scan over from another programmer can help to give code quality another perspective.
It’s sometimes hard for the ego (programmer’s egos are usually verrryy big), but it will certainly progress you further.
– One programmer: You are alone…Sniff. Or other programmers simply don’t have time to review your code (They are too busy.) Carrying out your own code review is a must!
It should be done before every commit/submit. It should even be done before another programmer reviews your code.
It helps you detect bugs and improve quality (simplifications etc..) but it also helps you memorize your own code!
If your source code is in your head, you will be able to fix bugs more quickly, find solutions faster. I myself find bugfixes on my way home, in the subway! And the fix is usually something small like adding a ‘+’ or an uninitialized variable.
A versioning tool is a must for every developement process. It can save you time and greatly improve software quality.