Link Details

Link 1048701 thumbnail
User 225256 avatar

By mswatcher
via mattduvall.com
Published: Oct 15 2013 / 12:30

“Will this be maintainable in the long term?” - a comment on every code review ever I have an allergic reaction to this question. It is often used when Developer A wants to add a non-trivial component to the codebase. The room (or code review) will always have Developer B who springs up the dubious concern of maintainability. Proceed with caution.
  • 17
  • 0
  • 1335
  • 1461

Comments

Add your comment
User 851745 avatar

Greg Brown replied ago:

0 votes Vote down Vote up Reply

In general, I agree with the author's assessment. Many developers tend to over-design a system by trying to apply design patterns or abstractions that aren't necessary, in the name of "extensibility". From my experience, the best approach is to make sure that the current requirements are well-understood and design the system to meet those. Trying to design for hypothetical future requirements simply makes the code more complex and doesn't add any real value (since most of the time those requirements never actually materialize).

User 851745 avatar

Greg Brown replied ago:

0 votes Vote down Vote up Reply

In general, I agree with the author's assessment. Many developers tend to over-design a system by trying to apply design patterns or abstractions that aren't necessary, in the name of "extensibility". From my experience, the best approach is to make sure that the current requirements are well-understood and design the system to meet those. Trying to design for hypothetical future requirements simply makes the code more complex and doesn't add any real value (since most of the time those requirements never actually materialize).

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Apache Hadoop
Written by: Piotr Krewski
Featured Refcardz: Top Refcardz:
  1. Play
  2. Akka
  3. Design Patterns
  4. OO JS
  5. Cont. Delivery
  1. Play
  2. Java Performance
  3. Akka
  4. REST
  5. Java