Refactoring in a large code base

Marko Rauhamaa marko at pacujo.net
Fri Jan 22 06:54:05 EST 2016


Chris Angelico <rosuav at gmail.com>:

> On Fri, Jan 22, 2016 at 9:19 PM, Marko Rauhamaa <marko at pacujo.net> wrote:
> So what do you do with a huge program?

Modularize. Treat each module as a separate product with its own release
cycle, documentation, apis, ownership etc.

What is a reasonable size of a module? It is something you would
consider replacing with a new implementation with a moderate effort
(say, in a single quarter).

> CPython is a large and complex program. How do you propose doing it
> "right"?

I don't know CPython specifically to give solid recommendations, but I
would imagine the core language engine should be in a repository
separate from the standard library, and most standard library modules
should be in their respective repositories and have their individual
internal release cycles.

A CPython release would then weave the package together from the
components that were previously (internally) released.


Marko



More information about the Python-list mailing list