adam bien's blog

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 :-).