How can you improve your coding quality with versioning Tool? Versioning tool can be used for other purpose than saving different version of your files. One of the key feature, is to make code review easier. Let's start by explaining what is code review: Code review consist in looking at source code with the intention to find mistakes, and improve overall software quality. You only read it and try to undestand it, like you read a math book. Most of the time, by doing this simple thing, you will discover bugs! Fixing these bug will be far more easier than the usuall process ( no need for testing and tracing into the code to find these bugs ). - How a versionning system can Help you ? It keeps different version of a source code. Before sending your new version ( submit/commit ), you can display which lines in the source code has changed! There is 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 experimented programmer should make a code review. If modifications are good, it's submit/commit. If code quality are not good enough, junior programmer will continu working with the help of the senior. - Two senior programmers: Even a senior programmer makes bug... Even senior programmer produce obscure code. A look from another programmer help to put code quality in another perspective. It's sometimes hard for the ego ( programmer ego are usually verrryy big ), but it will make you progress. - One programmer: You are alone...Snif. Or other programmers simply don't have time to make a review of your code ( they are in a rush ). Making your own code review is a must! It should be done before every commit/submit. I should even be done before another programmer review your code. It help you detect bugs and improve quality ( simplifications etc..), but it also help you memorize your own code ! If your source code is in your head, you will fix bug faster, find solutions faster. I mylself find bugfix on my way home, in the subway! And the fix is something small like adding a '+' or an uninitialized variable. Versionning tool is a must for every developpement process. It can help you save time, and increase software quality.