Quote:
Originally Posted by Joe Ross
Not only do you need version control when working with many programmers, you also need a code framework that is conducive to having many people working on the code. You didn't specify what language you're using, but for C++ and Java, the Command Based framework does a good job of doing this. Other teams have created frameworks for the same purpose.
There are many other things on a robot team that can use programmers as well, so it may not be necessary to have everyone working on the robot. Dashboard, scouting and the website are things that other programmers can work on.
|
Version Control = YES, regardless of the number of programmers.
I also totally agree with Joe's comments above. We use C++ and generally start with each student programmer taking control of a single class that defines the operation of a robot mechanism. There are of course also "shared" pieces of code including the main Autonomous() and OperatorControl() functions which interact with these classes. This is a place where the version control is particularly helpful.
In addition to a formal version control system, we also make copies of the software at competitions every time the code is deployed to the robot. This ensures that there is never a question about what code is on the robot. This is particularly important if your version control relies on the internet since internet access is generally unavailable at competitions.