Hello, Kim. On Tuesday, May 13, 2008, at 4:44:39 AM, you wrote:
> Yes, that seems like a reasonable assumption... Then again, talking
> about a "good design" seems like a slippery slope... Good from what
> perspective? But maybe all qualities from dependency management and
> malleability to, say, performance and localizability are increased by
> adhering to the principles of good design.
I believe that in fact all (for some definition of all) "good
design" qualities do result from some small (for some definition of
small) set of principles.
> To me, the "evolutionability" seems like just another quality (or an
> aggregate of other qualities, perhaps) that one can optimize for in
> one's designs.
I believe that by most people's lights, a "good design"
automatically turns out to be evolvable. IOW, faced with a design
that is thought to be good, but not evolvable, we can quickly come
up with a design which is similar in essence, "better", and
evolvable. The making it "better" will make it more evolvable
without working directly toward that property.
Now it is hard to read one's own mind accurately, but I've developed
this bizarre theory based on working as much as I can "only" from
Kent's four rules of simple design, without regard to move vague or
long term considerations. All on their own, as closely as I can
manage, they seem to generate designs that I consider "good".
Ron Jeffries
www.XProgramming.com
Sorry about your cow ... I didn't know she was sacred.