Having fun? I hope so. These projects look cool.
What to hand in
By 5:00PM Monday, Nov 24, send me via email your git repository link and a tag
at which you want me to grade the project. If your project includes a server side,
please include it in your git repository alongside your IntelliJ project folder,
and put it on thacker in a directory named "final".
Supplement your readme.txt from Phase 2 to include a brief note about the status
of your program. What works, what doesn't, and anything else you want me to know.
Things to consider as you prepare your project:
- I will be focusing most of my attention on the structure of your code.
This includes well-designed method interfaces, clean application of the MVC
pattern (and any other patterns you may have adopted), consistent style,
effective naming, etc.
- I will also pay attention to user interface design that considers the needs
of the user. If I find it easy and pleasant to use your application, that will
be a very good start. We'll discuss this more in class.
- Normally, correct functioning is my top concern, so it certainly matters here.
For this project, functionality comes behind code structure and UI design, but just barely.
At minimum, the program needs to build and run without modification once
I pull it from the tag you provide to me. More generally, I favor a well structured
simple program that runs well than a sloppily structured program that also runs well
but has lots of features.
- I care about appropriate in-code documentation, which usually means "minimal, but
high quality and useful where it exists." We discussed this after reading
Steve McConnell's "The Commento," and I told you my strategy for successful
commenting: (1) put a brief comment at the top of each source file with
the authors' names and a one-sentence description of the purpose of the file;
(2) use javadoc comments to explain the relationship between the parameters,
the action, and the return value of each public method other than getters and setters;
(3) optionally put very brief section headers in long methods; (4) in that very rare situation where the
code is weird or particularly difficult to understand, it's OK to spend a couple
sentences explaining what's going on.
Have fun, and have a great break.