Welcome to Java Good Ways, a book of unwritten rules, tips and gotchas to assist your life as a Java Developer.
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 real 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 problem more clarity.
The style of this book is to show a bad code example followed by a better way it could have been written. This is because a recommendation is not always effective without an illustration of what can go wrong. You don't know how good life is until you have suffered a little. So 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...”. Because they are obvious 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
20 May 2011 [agile.story] Everything can be a User Story
20 May 2011 [agile.estimation] Estimating Effort
20 May 2011 [agile] Agile in the Trenches
19 May 2011 [agile.fixed] Fixed price, fixed scope agile
19 May 2011 [agile.burn] Adjust the burn down chart
19 May 2011 [agile.reestimation] Re-estimating User Story effort
19 May 2011 [agile.span] Large User Stories that span iterations
19 May 2011 [webapp.stateless] Stateless Servlets, Actions and Controllers
19 May 2011 [read.glossary] Glossary of words used in this book
16 March 2011 [career.standards] Follow Standards
16 March 2011 [trap.this] Don’t call methods on ‘this’ in constructors
11 March 2011 [career.reputation] It's a small world.