This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author loewis
Recipients chris.jerdonek, ezio.melotti, loewis, ncoghlan, pitrou, r.david.murray
Date 2012-10-25.14:50:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1351176652.23.0.6249361886.issue15494@psf.upfronthosting.co.za>
In-reply-to
Content
Since "basic software engineering principles" have been invoked, I'd like to point out that many of the standard motivations to modularization don't apply in this case. So it is fair to ask what *specific* benefits such a restructuring may have. Such a description is necessary in advance in order to determine whether a specific restructuring actually achieves the stated objectives.

In the Wikipedia article on "Modular programming", the main advantage (as in "top-down  design") is that you can decompose a yet-to-be-built system upfront, and split the work into several teams, which then can develop the system independently, and only need to integrate at the end. This is less relevant as the system in question is already built.

Another motivation given in Wikipedia is reuse in different systems. There isn't really any reuse planned for the code in question, but perhaps reuse in other Python implementations would make a point. If that is the motivation, the split should be to separate CPython support code from other support code.

The wikipedia article also claims that the code is easier to debug, update, and modify. Easier modification may come from the notion of abstract interfaces: the module implementation can be changed without affecting module use (if the interfaces are unchanged. For this case, the code is already at a module boundary (of the support module); I fail to see why further modularization would improve anything.

Easier debugging may come from less code being involved in a certain code path. Mere refactoring cannot improve that. You have to rewrite the functions, but that would be possible even without splitting the module.
History
Date User Action Args
2012-10-25 14:50:52loewissetrecipients: + loewis, ncoghlan, pitrou, ezio.melotti, r.david.murray, chris.jerdonek
2012-10-25 14:50:52loewissetmessageid: <1351176652.23.0.6249361886.issue15494@psf.upfronthosting.co.za>
2012-10-25 14:50:52loewislinkissue15494 messages
2012-10-25 14:50:51loewiscreate