Project organization and import

Martin Unsal martinunsal at gmail.com
Mon Mar 5 11:32:34 EST 2007


Jorge, thanks for your response. I replied earlier but I think my
response got lost. I'm trying again.

On Mar 4, 5:20 pm, Jorge Godoy <jgo... at gmail.com> wrote:
> Why?  RCS systems can merge changes.  A RCS system is not a substitute for
> design or programmers communication.

Text merges are an error-prone process. They can't be eliminated but
they are best avoided when possible.

When refactoring, it's much better to move small files around than to
move chunks of code between large files. In the former case your SCM
system can track integration history, which is a big win.

> Unit tests help being sure that one change doesn't break the project as a
> whole and for a big project you're surely going to have a lot of those tests.

But unit tests are never an excuse for error prone workflow. "Oh,
don't worry, we'll catch that with unit tests" is never something you
want to say or hear.

> I don't reload...  When my investigative tests gets bigger I write a script
> and run it with the interpreter.  It is easy since my text editor can call
> Python on a buffer (I use Emacs).

That's interesting, is this workflow pretty universal in the Python
world?

I guess that seems unfortunate to me, one of the big wins for
interpreted languages is to make the development cycle as short and
interactive as possible. As I see it, the Python way should be to
reload a file and reinvoke the class directly, not to restart the
interpreter, load an entire package and then run a test script to set
up your test conditions again.

Martin




More information about the Python-list mailing list