How to actually write a program?

Alex Martelli aleaxit at yahoo.com
Tue Sep 7 03:24:07 EDT 2004


Alexander Hoffmann <alexander.hoffmann at netgenius.de> wrote:
   ...
> Please reflect on your goals. Why do you want to write programs, what are they
> meant to be used for in the end ? If you want to write very small programs to
> be used like shell scripts on your private Linux box, then never spend your
> time with UML, extreme programming, unit tests and all that stuff. 

No: unit tests SCALE -- they're just as important and wonderful for tiny
programs as for huge ones.  XP is a very specific approach which only
makes sense for a _team_, but tests are universally good.

> is what you should utilize PARTS of UML for. I strongly recommend you to look
> at static structure diagrams, use cases and time line diagrams. The other

Alistair Cockburn's "Writing Effective Use Cases" suggests excellent
alternatives to UML "use cases", with a strong emphasis on what works.
(Like all books I've seen by Cockburn, it's quite advanced, even though
very readable it's really aimed at people with real-world experience --
much as I've just said elsewhere on this thread of Ambler's books).

> Once you are familiar with basic Python programming and with application
> design (e.g. UML), then the last step I recommend to become a *nearly* (who
> really claims to be completely) perfect developer is to understand the
> importance of testing. When you are implementing a real big application you
> are lost without it. I am using unit tests and they help me very much. With
> these you can test first very small parts of your application and then later
> combine the test to cover more and more of the whole program. Indeed there is
> no need to argue for unit testing (when writing really big applications): try
> it and you will appreciate it !

Right -- and you'll appreciate it in SMALL applications just as much,
IMHO.


Alex



More information about the Python-list mailing list