Adam Bien's Weblog

Monday Sep 25, 2006

Guide to maintainable (Java) software

  1. 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.
  2. Minimize the amount of design and architecture patterns.
  3. Define constraints for the used patterns - or do not allow variations.
  4. Use coding and naming conventions.
  5. Always rely on standards first.
  6. Explain design decisions in short (list of items) and unambigous way.
  7. Take everything away from your design, what is not needed.
  8. Do not follow hypes - use reasonable arguments.
  9. Always document political decisions (they are rarely reasonable).
  10. Separate business logic from technology.
  11. Think about errorhandling, logging, monitoring because the coding begins
  12. Create a lean, and expresive project or architecture documentation (<=20 pages).
  13. ...be pragmatic. Theory does not work in the practice :-).


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Kommentare:

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 #

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet
Interviews/About
My Recent Book
Java One 2009
CommunityOne East N.Y.C
JavaONE 2008 Interview
Search
...the last 150 posts
...the last 10 comments
greenfire.dev.java.net
Links
my.netbeans.org
Visitors
License