Software Design (CSC-223 97F)
Notes on Assignment 4: Code Reuse
For this assignment, I mostly looked at your evaluations. Here are some
general issues I noted in your evaluations.
- They were much too abbreviated. "Yes it worked" doesn't show me that
you actually tested it. "It included four separate applications
that let me try all four games. I tried each with XXX inputs and
got a reasonable output." Would be much better.
- You need to give more specifics. "The methods appear randomly
distributed" may be accurate, but it doesn't help the person you are
evaluating improve his or her code. "The serve() method more appropriately
belongs in the Player class rather than in the Ball class because it is
players who serve" would be much better.
- Given that I gave you a series of questions to answer, it would have
helped many of you if you'd organized your answers around those questions.
Those who didn't often failed to answer some part sufficiently well.
- There is more to readability than "proper indentation". One should also
concern themselves with variable names, choice of structures, commenting,
use of constants rather than hard-coded numbers, and so on.
- One goal of the "Is it object-oriented?" question was to make you think
about what it means to be object-oriented. Some of you just said, in
effect, "It has objects, so it must be object-oriented."
Some notes that many of you may want to consider when writing your own
- I saw a number of complaints that while individual pieces were clear,
the big picture (i.e., how they fit together) wasn't.
- I saw a number of complaints that it was difficult to tell how to run
the application, given the large number of classes.
- Some of you included a number of extraneous methods. I would recommend
making it clear that these methods shouldn't be used.
- Some of you failed to describe the return values from your methods.
Make sure that you give your comments to the person you evaluated.