CS 371 Lab #9: Coding, Documentation and Integration
This lab is about integration of different teams' code. In order to
successfully integrate with each other, we mainly need to be able to
read and understand each other's code, for which we will need all
the help we can get.
We can't integrate until we actually have code checked into CVS, and
I would daresay, until that code is adequately documented such that
others can tell how to call it and what it calls.
Lab Work Step by Step
- For each source file, prefix a header at the top that includes the
filename and contact information for the author(s). For your convenience, I
have put a link to the Standard Header (in C++ ) which you
can copy and fill in. If I have to go into CVS in order to know who to
e-mail about a question in your code, you have not done this step!
- For each nontrivial class variable (field) and method, consider adding
a comment explaining what it does. Assume your audience is your classmates,
and that they may have to understand and modify your code at some point when
you are not around. Reformat your class variable list to
be one variable per line to allow for this documentation.
I will let you know if you have not commented something
sufficiently for me to understand it. Do not insert useless comments.
Example useless comment for, say, a class variable:
x, # this is variable x
Example more useful comment:
x, # location of unit in hex coordinates (not pixels)
- Talk to your classmates. For each point at which one team is
calling another team's code, discuss and agree upon the caller location
(class and method), the callee method name, parameter(s) and return type.
Write these down. List any side effects (e.g. assignments to global variables,
changes to structures) that the caller may need to check. For the purposes
of this exercise, consider the map team to "own" class Game, and therefore,
the program main flow of control. E-mail the contracted public interfaces
to me, along with a comment on the current state of the interface, one of:
nonexistant, present but unimplemented, present but changes needed, working.
- Use the rest of this lab period to work on the project, especially
parts where you may need to talk to your classmates. I will be
available to consult on it.