What can I say? I completely agree with you that there is no reason
to think we should either need to "think of everything", or that it
is even remotely possible to do so. I try to design software to be
flexible and extensible in this regard, and yes, I do find that my
coworkers do sometimes look askance at my code. I well remember one
of my most recent code reviews in which someone told me my code was
hard to read. Needless to say, that is about the last thing I wanted
to hear. But trite and old-fashioned as it sounds, I like the
patterns approach to system design, and have come to realize in
retrospect that my code sometimes looks odd to my colleagues
precisely because I have (perhaps intuitively) made use of patterns
in my work. I also believe that a major problem with software
development is that we tend to see "coding" as a more or less
technical task in which we implement requirements identified at the
analysis phase. In the process, design and (to a lesser extent)
architecture tends to get short shrift -- very much to our detriment.
===
Gregory Woodhouse
[EMAIL PROTECTED]
"A hero is no braver than an ordinary
man, but he is brave five minutes longer."
-- Ralph Waldo Emerson
On Jul 10, 2005, at 4:18 PM, Richard G. DAVIS wrote:
Well, I believe that one need not think of everything ahead of
time. The
FNA application surely didn't.
The design principle is to code for the general case. Do not make
constraints as a way of life.
Then there is the overwhelming tendency of software engineers to be
exceedingly egocentric. Later, when this tendency is recognized as
restrictive, we hear the "can't think of everything" chorus.
The enlightened path is to design for the general case, and to
spend most of
the effort taking care to be sure that "THE PROBLEM" has been
identified and
well characterized.
It is not so much thinking of everything. Instead, it is solving the
correct problem.
The early DHCP Pharmacy application was a glorified label
generator. The
problem we needed to solve was how to create software that would
facilitate
the work processes of the pharmacy business. (...in an open way of
course.)
-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members