dm0ney
28-03-2005, 21:23
How do fellow FIRST teams divide up the code for different people to work on it, do version control, and also code structure itself?
At Team #217...
The first week, we mapped out an entire whiteboard with function calls and the like. A pretty basic API which was ultimately the most important thing our team did that first week ;)
We approached the code with two flow charts:
Robot -> Drive, Arm, Vision
OI - > Joysticks, Buttons
We filled in all our required variables, mutators, and accessors. Agreed on naming conventions and then divided the work up like this:
Programmer A = low-level commands / drive / joysticks
Programmer B = pneumatics / study on making TC Dashboard
Programmer C = arm
Programmer D = autonomous / scripting
Programmer E = vision
Programmer F = catch all, implementing all
Ultimately, We went to 3 main programmers... one lost to drive team, one lost to mechanical.
To control versions, we set up a wireless network @ our place of work and had a CVS server that we all learned how to use / taught people how to use.
Our code structure is set up in multiple files, each pertaining to what it is
(encoder.c, pid.c, oibuttons.c, userbyte.c, arm.c, vision.c, scripting.c, commands.c....... etc)
We also approached a style as close to OOP as we could using structs, pointer fun, and init statements and the like.
Parts of our code will be released in the coming weeks and feel free to find our team at Atlanta to see the code display that I'll be putting together.... eventually :)
At Team #217...
The first week, we mapped out an entire whiteboard with function calls and the like. A pretty basic API which was ultimately the most important thing our team did that first week ;)
We approached the code with two flow charts:
Robot -> Drive, Arm, Vision
OI - > Joysticks, Buttons
We filled in all our required variables, mutators, and accessors. Agreed on naming conventions and then divided the work up like this:
Programmer A = low-level commands / drive / joysticks
Programmer B = pneumatics / study on making TC Dashboard
Programmer C = arm
Programmer D = autonomous / scripting
Programmer E = vision
Programmer F = catch all, implementing all
Ultimately, We went to 3 main programmers... one lost to drive team, one lost to mechanical.
To control versions, we set up a wireless network @ our place of work and had a CVS server that we all learned how to use / taught people how to use.
Our code structure is set up in multiple files, each pertaining to what it is
(encoder.c, pid.c, oibuttons.c, userbyte.c, arm.c, vision.c, scripting.c, commands.c....... etc)
We also approached a style as close to OOP as we could using structs, pointer fun, and init statements and the like.
Parts of our code will be released in the coming weeks and feel free to find our team at Atlanta to see the code display that I'll be putting together.... eventually :)