On Mon, May 30, 2016 at 6:29 PM, Volker Braun <vbraun.n...@gmail.com> wrote:
> Imho many sage modules have grown too long, including but not limited to
> some 20kloc monsters. +1 to splitting things up!

Yikes!  I'm not sure I've even run into any of those yet.  20kloc is
definitely worth splitting up.  ~4k is a lot more arguable I think,
but I personally don't like files to get much longer than 1kloc
depending of course on how practical it is to further subdivide, which
it isn't always.

sage_setup.autogen.interpreters had the advantage of already being
pretty well structured, and lots of small classes with few
interdependencies that were very logically subdivided.

> On Monday, May 30, 2016 at 6:22:53 PM UTC+2, Erik Bray wrote:
>>
>> Hi all,
>>
>> I recently needed to dive into the sage_setup.autogen.interpreters
>> module in order to make some small changes.  The file is over 4000
>> lines long, which is a bit on the long side for your typical Python
>> file, though not egregious by any means.  That said, when trying to
>> understand some relatively complicated code I find it helpful to break
>> up into smaller bite-sized logical chunks that are easy to get around
>> in an editor and reason about.  When and how to do this can of course
>> be highly subjective.
>>
>> In the case of autogen.interpreters, in the process of understanding
>> it, it was my immediate instinct, perhaps a bit impulsive, to start
>> breaking it into multiple files anyways, and about half an hour later
>> I've done so with success.
>>
>> I think it would be a good change to feed back into sage, but it's
>> also a bit frivolous since there are no other substantive changes.  I
>> think it makes the code easier to understand.  But of course the main
>> downside to this kind of refactoring is that it makes the history
>> harder to follow--not impossible--just harder.
>>
>> How does this community feel about this sort of refactoring?  On the
>> outset it could be seen as frivolous, but in the long term it can be
>> for the best, especially as development continues and some of the
>> resulting modules grow larger on their own.
>>
>> Thanks,
>> Erik
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to