Welcome to Java Good Ways, a book of unwritten rules, tips and gotchas to assist your life as a Java Developer and programmer in general.
Most projects have great ways to solve particular problems and also some code that doesn't pass review. The details are usually forgotten, but over time they have been added as simple rules to this book.
All of the examples here came from real code; real mistakes made by developers (and some nifty tricks of the trade too). Of course there have been a few changes to protect the guilty and some simplification to give the problems more clarity. I would prefer you consider this a book of good examples.
There is a gap between university studies and what Java developers actually need to know. Information Technology and Software Engineering vocations are now so broad that it is difficult for a three year degree to cover everything it takes to be an outstanding Java programmer in a software company. This book contains a series of brief rules that should be read by all new Java developers, so that they will not make the common mistakes that are seen time and time again in the industry. Most of the rules could be prefixed by the phrase “this might seem obvious but...”. They are obvious so nobody thinks to mention them to you.
Technical Leads see these errors on every project and can avoid repeating themselves by linking directly to this book online. It's free to browse on the website. The best kind of free.
Most Recently Changed Pages
11 June 2015 [security.obscurity] Secret URLs
11 June 2015 [security.backdoor] The Security Desk
11 June 2015 [security] Securing code
10 June 2015 [career.skills] Know what you are good at
10 June 2015 [thought.errorcodes] Give error explanations where possible
10 June 2015 [app.messages.properties] Where to use messages.properties
10 June 2015 [project.wiki] Keep a WIKI
10 June 2015 [exception.rethrow] Why rethrow an exception?
10 June 2015 [method.object] No Object in method signatures
10 June 2015 [class.inherit] When to extend another class
10 June 2015 [test.junit] Test code with Junit
10 June 2015 [comment.useful] Comments should enlighten the reader