Project organization and import
Bruno Desthuilliers
bdesth.quelquechose at free.quelquepart.fr
Mon Mar 5 17:35:28 EST 2007
Martin Unsal a écrit :
(snip)
> When refactoring, it's much better to move small files around than to
> move chunks of code between large files.
Indeed. But having hundreds or thousands of files each with at most a
dozen lines of effective code is certainly not an ideal. Remember that
Python let you tell much more in a few lines than some mainstream
languages I won't name here.
>
>>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 don't know, but that's also mostly how I do work.
> I guess that seems unfortunate to me,
So I guess you don't understand what Jorge is talking about.
> one of the big wins for
> interpreted languages is to make the development cycle as short and
> interactive as possible.
It's pretty short interactive. Emacs Python mode let you fire up a
subinterpreter and eval either your whole buffer or a class or def block
or even a single expression - and play with the result in the
subinterpreter.
> 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.
^Cc^C! to start a new interpeter
^Cc^Cc to eval the whole module
Since the module takes care of "loading the entire package", you don't
have to worry about this. And since, once the script eval'd, you still
have your (interactive) interpreter opened, with all state set, you can
then explore at will. Try it by yourself. It's by far faster and easier
than trying to manually keep track of the interpreter state.
More information about the Python-list
mailing list