Ten Essential Development Practices
rkern at ucsd.edu
Fri Jul 29 07:40:25 CEST 2005
Dan Sommers wrote:
> On Thu, 28 Jul 2005 15:35:54 -0700,
> Robert Kern <rkern at ucsd.edu> wrote:
>>That said, I made a boo-boo. The Zen of Python is really a set of
>>design principles (and some of them, like this one, are more
>>specifically *language* design principles), not Essential Development
>>Practices. That'll teach me to not RTFA.
> May I respectfully disagree?
No, I'm afraid that you may only disrespectfully disagree with me. I
will not tolerate politeness. Why? Uh, my .sig quote justifies rudeness!
Yes, that's it!
> The Zen applies to all aspects of software
> (and other things, too, but they're off topic here), from human readable
> reports and requirements and documentation, to GUI's, to test cases, to
> code, to database schemta, as well as the development methodology and
> practices themselves.
Sure, and I can find programming advice in the Old Testament, too, if I
try hard enough. But that doesn't change the fact that the "Essential
Development Practices" (e.g. "Use a source control system") are in a
different category than the Zen of Python (e.g. "Namespaces are one
honking great idea -- let's do more of those!"). Hence Michael Hoffman's
very good question about how he might embody that particular bit of Zen:
it's just not applicable to the things he's doing because it's a design
principle for Python the language, not about development (or even
design!) in general.
Of course other pieces of the Zen are more generally applicable
("Readability counts.") as a "development practice," but that's
something of an accident. Usually, they're about design, sometimes
specifically about the design of Python the language.
> Sometimes you have to look at the Zen sideways, so that "implementation"
> appears to be replaced by the particular aspect or aspects (or the
> software, or just software, as a whole, for the true Masters out there)
> you happen to be working on at the time, but such is the nature of Zen.
That's a bit too much navel-gazing for me. With enough effort, you make
anything a symbol of anything else. But that doesn't get any code written.
 Proverbs 28:14 JPS "Happy is the man that feareth alway; but he that
hardeneth his heart shall fall into evil." Obviously an exhortation to
not ignore raised exceptions with "except: pass".
rkern at ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
More information about the Python-list