Object-Oriented Design & Change

If your application succeeds, many of your decisions today will need to be changed later.

Part of the difficulty of design is that every problem has two components. You must not only write code for the feature you plan to deliver today but also create code that is amenable to being changed later.

It is the need for change that makes a design matter.[¹]

Object-Oriented Design code doesn’t matter until we need to change the code base.

Making a design more flexible than the immediate change requires wastes valuable time. If it’s sitting there, who cares? It’s when I want to change it that the design matters.

[¹]: Sandi Metz(2013): Practical Object-Oriented Design in Ruby (https://www.amazon.com/Practical-Object-Oriented-Design-Agile-Primer/dp/0134456475)

--

--

Rafael A. George Duval

✍🏼 Indie writer, chief editor of https://snippetsoftext.substack.com/ | 💻 Software Engineer | 📊 Tech Leadership