Organization does not scale effortlessly.

from Does Organization Matter? by Robert Martin nonfiction ~2 min read

A lot of effort went into organizing that second library. And consequently, it requires a fair bit of effort to learn the organization scheme. A newbie can’t just walk into that well organized library and go right to the book they want. Instead, the newbie is going to have to learn a bit about the Dewy Decimal System, and about how to use a card catalog, or the automated index system. It will require a bit of study and thought before the newbie can find the book they want.

But ask one of the librarians to find a book, and they’ll typically have it in their hands in a matter of seconds!

And so this gets to the crux of the question that you were really asking. You were asking whether the time required to learn the organization scheme of the system is worth the bother. Learning that organization scheme is hard. Becoming proficient at reading and changing the code within that scheme take time, effort, and practice. And that can feel like a waste when you compare it to how simple life was when you only had 100 lines of code.

And, then, there’s another problem.

The organization structure that works for a thousand line program, does not work for a ten thousand line program. And the organization structure that works for a ten thousand line program does not work for a hundred thousand line program.

This almost feels intolerable. Because as the program grows you must invest time, effort, and practice into an organization scheme that is bound to become obsolete.

And so the question you are asking is whether it is worthwhile to invest in any organization scheme given that they’ll all become obsolete one day.

The answer to that question should be obvious. If you decide that organizing your system isn’t worth the effort, you’ll wind up as a Code Hoarder.[1]


  1. https://blog.cleancoder.com/uncle-bob/2015/04/15/DoesOrganizationMatter.html ↩︎

—Robert Martin, Does Organization Matter?, p. -1