Java Reference
In-Depth Information
It is also very important to ensure that dependencies between classes are contained
within a single package. Essentially, packages should be autonomous units that can be com-
piled separately. For the most part, if classes in a package have to be compiled in order for
another package to compile, the package structure should be reworked so that all class
dependencies fall within a single package. A proper package design will also ensure that
an application is built on the most stable foundation possible.
In summary, packages act as a mechanism to compartmentalize portions of a project
into functional blocks. Thus, an effective package design allows for portions of a project to be
removed and swapped around without impacting other portions of your code.
Best Practices
In your programming career, you may have noticed practices that you (or others) follow that
do not fit into the categories above, and yet they make the overall delivery of a final solution
much easier. While these practices are not required, you should consider using them in your
assignment.
Writing Documentation As You Go
It seems strange to have to mention this, but you really must write your documentation at the
same time as you are working on your assignment, preferably before you write your code, or
as you write it.
You must provide three major forms of documentation as part of this assignment:
Design choices
Javadoc
User documentation
Design Choices
The design choices document will contain a quick overview of what major choices you made
while developing your solution, and what alternatives you considered—possibly explaining
why you discarded the alternative.
You do not need to write a topic on your choices—the assessors are only interested in two
things:
1. Did you consider alternatives?
2. Did you write the code you submitted?
If you go on to become a system architect, you will be expected to know multiple ways of
achieving any software goal—often using multiple architectures and languages. As a devel-
oper, you should also be able to consider and reject alternative solutions within your area of
expertise—J2SE. For example, in a case where you could use a radio button or a check box,
you should be able to recognize that both alternatives are possible, and decide which is the
correct choice (note that the choice between a radio button and check box is probably a minor
decision, and possibly not something you would want to document).
Search WWH ::




Custom Search