Java: Debugging Output
System.out.println example in Java is used for debugging the program..
Readability
Human readability is extremely important.
Java: Names
Names should be meaningful and follow conventions.
Grading Scheme
There's nothing special about assigning points to each answer, but the overall grading scheme I use has a couple of twists to it..
Programming Style Guideline
Motivation for programming guidelines.
Iterative/Incremental Development
The generally accepted best practice is to develop your programs using an iterative, incremental process..
Start with working program
If there is a program which is similar to the desired program, many professional programmers will start with the existing program and make alterations..
Iterative/Incremental Development
For large programs this is typically divided into two parts: unit testing tests individual modules and integration testing sees if the total program works when all the modules are run together..
Coding Issues
Multiple variables in one declaration.
WebTycho Guidelines
Good practices.
Java: Patterns
A growing site of patterns by the typicall suspects: Flowler, GoF, ....
Java Programming Idioms
Every programming language has its ways of writing common programming constructions..
Grading Scheme
There's nothing special about assigning points to each answer, but the overall grading scheme I use has a couple of twists to it..
Programming Style Guideline
If there's one idea that could serve as a guide to good programming..
Error processing
I recently used a program that produced "Error in processing" as the error message..
Complexity Measurement
We are therefore left largely with a number of best practices which do a reasonable job of suggesting ways to avoid complexity..
Complexity is your enemy
Complexity is to software as Heat is to Chips.
Fail Early, Fail Often
Your program to fail when there is a problem, and to fail as soon as possible..
Design By Contract
Bertrand Meyer formalized a programming methodology called Design by Contract..
Java: Cohesion
Sometimes it will be convenient to do two things in a function because you're working on the same data..
Development Process
Software development can be looked at from two perspectives process and product..