<p><br>
On Oct 25, 2012 2:06 AM, "Larry Hastings" <<a href="mailto:larry@hastings.org">larry@hastings.org</a>> wrote:<br>
><br>
> On 10/23/2012 09:29 AM, Georg Brandl wrote:<br>
>><br>
>> Especially since you're suggesting a huge number of new files, I question the<br>
>> argument of better navigability.<br>
><br>
><br>
> FWIW I'm -1 on it too.  I don't see what the big deal is with "large" source files.  If you have difficulty finding your way around unicodeobject.c, that seems like more like a tooling issue to me, not a source code structural issue.</p>

<p>OK, I need to weigh in after seeing this kind of reply. Large source files are discouraged in general because they're a code smell that points strongly towards a *lack of modularity* within a *complex piece of functionality*.<br>

 <br>
Breaking such files up into separately compiled modules serves two purposes:<br>
1. It proves that the code *isn't* a tangled monolithic mess;<br>
2. It enlists the compilation toolchain's assistance in ensuring that remains the case in the future.</p>
<p>I find complaints about the ease of searching within the file to be misguided and irrelevant, as I can just as easily reply with "if searching across multiple files is hard for you, use better tools, like grep, or 'Find in Files'".</p>

<p>Note that I also consider the "pro" argument about better navigability inaccurate - the real gain is in *modularity*, making it clear to readers which parts can be understood and worked on separately from each other.</p>

<p>We are not special snow flakes - good software engineering practice is advisable for us as well, so a big +1 from me for breaking up the monstrosity that is unicodeobject.c and lowering the barrier to entry for hacking on the individual pieces. This should come with a large block comment in unicodeobject.c explaining how the pieces are put back together again.</p>

<p>However, -1 on the "faux modularity" idea of breaking up the files on disk, but still exposing them to the compiler and linker as a monolithic block, though. That would be completely missing the point of why large source files are bad.</p>

<p>Regards,<br>
Nick.</p>
<p>--<br>
Sent from my phone, thus the relative brevity :) </p>
<p>><br>
><br>
> /arry<br>
><br>
> _______________________________________________<br>
> Python-Dev mailing list<br>
> <a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
> <a href="http://mail.python.org/mailman/listinfo/python-dev">http://mail.python.org/mailman/listinfo/python-dev</a><br>
> Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com">http://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com</a><br>
><br>
</p>