This came up at work the other day re: client-side code readability.
In one camp, folks were in favor of component extraction/isolation with self-documenting tests wherever possible.
In the other camp, folks argued that drilling into a multi-file component tree makes the system harder to understand. They favor "locality of behavior".
Those were exactly my thoughts while reading this article: if your codebase (over)uses inheritance, interfaces, traits, facades, dependency injection etc. etc. to thinly spread any given functionality over several files, no amount of formatting or nice naming is going to save you...
In one camp, folks were in favor of component extraction/isolation with self-documenting tests wherever possible.
In the other camp, folks argued that drilling into a multi-file component tree makes the system harder to understand. They favor "locality of behavior".
Our consensus - there needs to be a balance.