...
- Be consistent
- Keep it simple
- Encourage loose coupling
- Encapsulate whenever possible
- Don't reinvent the wheel, see if functionality is available via the standard library or other open-source frameworks - favor , favoring dependencies we've already incorporated (i.e., the Jakarta Commons libraries, etc.)
- Don't repeat yourself
- Avoid code smells
- Optimize after profiling, but that doesn't mean you should write stupid code
- Keep an open mind, in both the sense of egoless programming, and an eye for better ways of doing things
- Get things done
Resources
- Writing testable code - an excellent collection of tips on how to structure and organize your code to make it easier to test
- Joshua Bloch's book Effective Java is an excellent collection of tips that will help you become more fluent in Java.
- Bleeding at the keyboard
- Exception handling: http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html - in general, make sure your error messages are concise and informative. Just like your code.
- http://www.artima.com is a good site for learning more about Java and programming in general.
- CACM article on good API design