O'Reilly logo
  • sheryl.bulloch thinks this is interesting:

Chapter 8. Avoid Over- and Under-Design

Developers tend to take one of two approaches to programming. Many think they need to plan ahead to ensure that their system can handle new requirements that come their way. Unfortunately, this planning ahead often involves adding code to handle situations that never come up. The end result is code that is more complex than it needs to be and therefore harder to change—the exact situation they were trying to avoid. The alternative, of course, seems equally bad. That is, they just jump in, code with no forethought, and hope for the best. But this hacking also typically results in code that is hard to modify. What are we supposed to do that doe...


Cover of Essential Skills for the Agile Developer: A Guide to Better Programming and Design


As a developer, how can you create high quality code that meets the needs of the user without adding extra complexity? There is a middle ground you should strive for that was described by the following quote from Ward Cunningham at a user group: “Take as much time as you need to make your code quality as high as it can be, but don’t spend a second adding functionality that you don’t need now!” As you complete your work on your project, keep these concepts and techniques in mind.