Every time we open our editor of choice to work on code, there is a bit of overhead to know where to start and what section we actually need to modify. Understanding where to start a modification to move toward a certain goal is often the difference between an application that is a joy to work on and one nobody likes to touch.
When we start working on a piece of code, there is a maximum amount of context we can keep in our head any a given time. Even though it is not possible to give exact constraints, it is easy to notice when a certain part of the code exceeds this limit. It is often the point where refactoring gets harder, the test starts to become brittle, and unit tests seem to lose their value as their passing no longer ensures the functionality of the system. In the open source world, this is often a breaking point for a project and it is very visible due to its open nature. Either a library or application at this point proves valuable enough if people invest...