Tracing the execution of scripts?

Michael B. Trausch mike$#at^&nospam!%trauschus
Fri Oct 27 08:23:16 EDT 2006


Ben Finney wrote:
> Jean-Paul Calderone <exarkun at divmod.com> writes:
> 
>> 1) Write unit tests for your code.  Keep writing unit tests until
>> you have some that _don't pass_.  Then fix your code so that they
>> do.  When you do further development, write the tests first, then
>> implement the code that makes them pass.
> 
> Hear hear.
> 
> Be advised, though, that attempting to apply unit tests to code that
> wasn't designed with testing in mind may very quickly reveal a poor
> design. [0] If you can't easily test pieces of the code independently,
> you probably haven't written those pieces to be loosely coupled and
> well-defined.
>

I will whole-heartedly admit that my code is probably poorly designed.
*shrug*  Though, I *do* try to write everything in such a way as to be
able to easily re-use it later.  When I wrote little things just to help
me sysadmin, I learned that was really key to making my life easier.

Besides, I am lazy... reuse certainly serves my needs there!  :-)

> 
> The moral? Writing unit tests *along with* the functional code will
> result in a design that is loosely coupled, and probably
> better-defined. Also, hopefully, easy to test :-)
> 

I think I have more to learn on the concept of unit-testing.  I have
never seen a group push the idea so hard.  I have read about unit
testing before, and even written tests (in other languages) to test
modules of library code that I put together once, but that was about it.
 I need to, I think, get more "into" the concept, though.  It isn't
something that I am able to just whip out and go "Hey, a widget unit
test!  And it works!" probably because of my own lack of practice.

> 
> [0] I have no idea whether this is the case for the OP. It's a very
> common symptom that arises from people who are first advised to
> introduce tests to their code, though.
> 

It is very likely that it is the case.  I am, by all means, what I could
consider to be a novice programmer when it comes to anything outside of
my little world of PHP.  I can write web applications in PHP until the
cows come home with little to no problem, and I can play with SQL the
same way.  But, I seem to have problems when I step out of that little
box, and so, that tells me that I need to work harder at it.  :-)

	-- Mike



More information about the Python-list mailing list