Using version control software
Our code is nicely structured for expansion, but there's one more critical item we should address: version control. You may already be familiar with a version control system (VCS), sometimes called revision control or source code management, but if not, it's an indispensable tool for dealing with a large and changing code base.
When working on an application, we sometimes think we know what needs to be changed, but it turns out we're wrong. Sometimes, we don't know exactly how to code something, and it takes several attempts to find the correct approach. Sometimes, we need to revert to code that was changed a long time ago. Sometimes, we have multiple people working on the same piece of code, and we need to merge their changes together. Version control systems were created to address these issues and more.
There are dozens of different version control systems, but most of them follow essentially the same workflow:
-
...