Posted on 2016-01-20 Edit on GitHub
Working on a large codebase is hard. The only way that our monkey brains can handle the task of understanding tens (if not hundreds) of thousands of lines of code is by breaking it down into smaller chunks.
Therefore, modularity is not a nice-to-have. It's a prerequisite to having any hope of being able to work effectively with large codebases.
While working on a large, very non-modular code base, I had a sudden Zen-like revelation.
To understand anything, one must understand everything.
Needless to say, I still understand nothing.