Ahh... I was wondering where that went... All the old links I had were inoperative. But, yeah, the codex is the best place.
As for those Design and Code Review guidelines, you're supposed to use them in the coding process. Here's the general process.
1. Figure out what your robot is going to do.
2. List all things that are going in our out of the robot controller. They need coding. List what they hook up to (That's what the documentation is in the zip file).
3. Divide the parts of the robot into clearly defined areas (subroutines) (look at my sample program, there's a drive area, a controls area, compressor area, grabber area, a window motor area, a pneumatic cylinder area, etc.). It's up to you how far you want to divide it. The more you divide it, the less the code is inter-dependent (one thing wrong messes up the entire robot = no no). However, the more you divide it, the more complex it becomes. There's a certain point where this is balanced. I won't say that my way is best. It all depends on the programmer's preference. Use the Design Review guidlines while you are writing this up. After it is completed, gather peers together and go through it.
4. Write in paragraphs (english) what each section of the robot should do.
5. Now, translate these paragraphs into PBASIC code, or into pseudocode (a hybrid form of english and the desired coding language... no specific code is formed, but an outline is formed. if statements and such should be included to illustrate structure). For example:
Code:
drive area:
if driver doesn't want to reverse controls then go do drive stuff
<switch joystick controls, so front of robot becomes back>
drive stuff:
if deadzone present then go do other side
<calculate the motor speed with the desired algorithm>
other side:
if deadzone present then go back
<calculate the motor speed with the desired algorithm>
back:
return
6. Debug the robot code. Upload it and go through all the purpose of the subroutines and make sure they do what they were intended to. This should be the longest process of coding the robot. No matter how good of a coding job you think you did, it's better to find out something doesn't work now than on the playing field.
Of course, all these recommendations depend on if you like object-oriented code. My attempt at coding was to make PBASIC object-oriented. It succeeded, but object-oriented isn't what PBASIC is intended to be. Object-oriented means that there are certain areas of the code (functions, subroutines, etc) that are designed to accomplish a specific task. These functions/subroutines are then called by the main code to accomplish these tasks.
C++ and JAVA are object-oriented programming languages. BASIC is not, however (along with many others).