Simplicity does not precede complexity, but follows it. - Alan Perlis, Epigrams In Programming
Coding conventions | Minimize ripple effects |
Avoid basic style errors | Wisdom, not rules |
Modularity and deletion ![]() | Copy paste is dangerous ![]() |
Know the common sources of complexity ![]() |
Implementing compareTo ![]() | Implementing equals ![]() |
Never rely on finalize | Implementing hashCode ![]() |
Implementing toString | Avoid clone |
Designing for subclassing | Consider composition instead of subclassing |
Overridable methods need special care | Remember styles of inheritance |
Lambdas only for simple cases ![]() | Understand the functional style ![]() |
Static import of Collectors ![]() | Annotate functional interfaces ![]() |
Prefer standard functional interfaces ![]() | Beware forEach terminals ![]() |
Type Safe Enumerations | Abstract Factory |
Command objects | Template method ![]() |
Model Objects ![]() | Factory methods |
Plugin Factory ![]() | Wrapper (Decorator) ![]() |
Immutable objects | Private constructor |
Singleton |
Some classes need readResolve | Implementing Serializable |
Serialization and subclassing |
Assert is for private arguments only | Assertions in general |
Assert use cases | Force enabling of assertions |
Using Ant for build scripts | Use Version Control tools |
Using Tomcat for servlets ![]() | Using Maven for builds ![]() |
User Comments |
"I just wanted to take a second to say that this site is really useful. It's not all that often that I come across a site that has some good design information without a bunch of boring fluff. It reminds me of reading Effective Java, which I would consider to be one of the best books I've ever picked up."
|
"I love this site. It's one of the best laid out and most useful sites that I've ever used. Thank you very much."
|
"First I have to say, what a great site. We were thinking about starting something similar inside the company, but what better news than to hear that someone has done it for us. Keep up the great work."
|
"I do think this site is excellent. Keep it up."
|
"Awesome for a beginner like me!"
|
"A Great Site!!! I refer to it often. I really enjoy your common sense and straight forward, flexible approach to these issues. Thanks!"
|
"Thanks for a great site, it really stands out from the crowd. Keep up the good work!"
|