This post is from the Collabnet VersionOne blog and has not been updated since the original publish date.
7 Version Control Best Practices for Developers
In my last post, Don't Underestimate the Importance of Version Control, I outlined some of the basics of why version control is important. Version control saves versions of code which can then be reused, or in case of issues, applications can be reverted to older working versions. Popular version control solutions used today are Git, Subversion (SVN), Perforce and others. Version Control is vital at the enterprise software development level where you have a vast number of disparate teams. It is an every/day part of the developer's routine, but also helps organizations achieve some high/level business goals such as increasing efficiency and improving quality and reliability of software. Today I want to share some best practices for developers related to version control. These may seem like no/brainers, but after 15 years in the industry, you'd be surprised how many folks I've seen struggle to follow these guidelines. These tips benefit the developers by cutting down redundant work, increasing efficiency, and helping to prevent mistakes and errors. Following these tips will also promote teamwork and better collaboration as all of these habits make it easier for different people to work on the same code. Best Practices for Version Control Users
- Make small changes. In other words, commit early and commit often. Of course, be careful not to commit any unfinished work that could break the build.
- Don't commit personal files. These could include application settings or SSH keys. Often these are committed accidently but cause problems later down the line when other team members are working on the same code.
- Update often and right before pushing to avoid merge conflicts.
- Verify your code change before pushing it to a repository; ensure it compiles and tests are passing.
- Pay close attention to commit messages as these will tell you why a change was made. Consider commit messages as a mini form of documentation for the change.
- Link code changes to work items. This will concretely link what was created to to why it was created or changed by providing traceability across requirements and code changes.
- No matter your background or preferences, be a team player and follow agreed conventions and workflows. Consistency is important and helps ensure quality making it easier for team members to pick up where you left off, to review your code, to debug, etc.
Using version control of some kind is a must for any organization and following the guidelines above can help developers avoid needless time spent fixing errors and mistakes. These practices also help organizations reap greater benefits from having a good version control system. In my next post, I'll provide some tips and best practices for organizations regarding version control. These tips will outline some ways that companies can ensure the workflow is optimal for ensuring quality and efficiency. Stay tuned! Join me Thursday, April 19 for a webinar titled "Enterprise Version Control / How to Deliver Customer Value at Speed," to take a deeper dive into how version control can help you deliver value to customers.