Adam Bien's Weblog
Guide to maintainable (Java) software
- Start with a minimum set of frameworks, libraries and technologies. So start with plain Java SE, extend if needed to Java EE, use another frameworks afterwards.
- Minimize the amount of design and architecture patterns.
- Define constraints for the used patterns - or do not allow variations.
- Use coding and naming conventions.
- Always rely on standards first.
- Explain design decisions in short (list of items) and unambigous way.
- Take everything away from your design, what is not needed.
- Do not follow hypes - use reasonable arguments.
- Always document political decisions (they are rarely reasonable).
- Separate business logic from technology.
- Think about errorhandling, logging, monitoring because the coding begins
- Create a lean, and expresive project or architecture documentation (<=20 pages).
- ...be pragmatic. Theory does not work in the practice :-).
Posted at 01:00PM Sep 25, 2006 by Adam Bien in Java / JEE / Architecture | Kommentare[5]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices


Web 3.0 just begun. ;-)
To me the most interesting part is they want a fat client in Java.
http://www.theserverside.com/news/thread.tss?thread_id=42351
Gesendet von reader am September 26, 2006 at 10:00 AM CEST #
14. Write your source for humans not for machines, since develeopers time is more expensive than new hardware ... ;o)
Gesendet von Mario Gleichmann am September 26, 2006 at 05:03 PM CEST #
Mario,
absolutely: premature optimization is the root of all evil :-)
Gesendet von Adam Bien am September 26, 2006 at 07:13 PM CEST #
15. Have people in the project team who knows what maintenance is (= who have already maintained software in the past for more than one year)
I see a lot of developers/architects talking about maintainable software but they have never maintained software for a longer period.
I already wrote about that in 2006:
http://simonmartinelli.blogspot.com/2006/12/some-words-about-maintainability.html
Gesendet von Simon Martinelli am August 20, 2009 at 11:09 AM CEST #
Thanks for the tips,
Perhaps every point will ask for it's own blog entry;)
However, somehow I didn't fully get these:
3- Define constraints for the used patterns - or do not allow variations.
8- Do not follow hypes - use reasonable arguments.
10- Separate business logic from technology.
If you could elaborate on these a lil bit, I ll be thankful.
regards,
- mark benz
Gesendet von mark benz am August 22, 2009 at 11:45 PM CEST #