{
I usually try not to be an echo chamber, especially when posts show up on Coding Horror or Steve Yegge's blog. But what's interesting is a rebuttle to a notion that Yegge started, namely that size is an enemy in code base.
Franz Bouma has an interesting post to follow up that is worth a counter balance of views.
Conventions:
I commented once about LoC in one of our projects, not so much with an interest in maintainability, but as a comparison with how much code was being "generated" on my behalf by the IDE. The project has grown since that post which had the codebase at around 30,000 lines of code. This is nowhere near the 500,000 line mark but one design decision made early on that has always helped in navigating around was the heavy use of conventions. Because we followed a pattern for where we put things, it's easy to find which project a piece of code is in as well as which part of the code one needs to dive into to make a modification.
Abstraction:
One thing I'm noticing about the open source projects I look at is how layers of abstraction can lead to the kind of indirection that's hard to follow. I speak only of ideals but it seems like too much abstraction can lead to the kind of confusing codebases that people online are reacting to. That logic may be the Mort in me going against the grain; it seems like many think that indirection and abstraction may add flexibility, but that flexibility will be a trade off for how easily a person, especially not the original author, finds their way.