One fundamental principle of programming is that, generally, it is best to swap a logic error for a compiler error. Compiler errors tend to be found in seconds and are corrected just as fast. Syntax errors are a good example. A missing semicolon can make things confusing. If the compiler error is something particularly cryptic, the resolution may take as long as a couple of minutes to discover.
Logic errors, on the other hand, are the bane of all programmers. They hide and hate to reveal themselves. Logic errors seem to have minds of their own, constantly evading detection and dodging your efforts to pin down their cause. They can easily take a thousand times more effort to solve than the worst compiler errors. Worst of all, many logic errors are not found at all and occur only intermittently in sensitive places, which causes your customers to scream for a fix. Logic errors often require you to throw thousands of man-hours at them, only to finally discover that they are minor typos.
The Java keyword
can be instrumental in turning
thousands of logic errors into compiler errors without too much
effort. With some training in coding standards and some code
retrofitting, you can save an enormous amount of man-hours that are
better spent elsewhere. Also, you can save your support departments
from having to deal with irate customers.
Final constants are a good place to start, since many of you are already familiar with the concept. Consider ...