Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: On Quality

by Joost (Canon)
on May 10, 2005 at 22:50 UTC ( #455793=note: print w/ replies, xml ) Need Help??


in reply to On Quality

I doubt that language factors into this
...
I wanted to disrupt the existing functionality from the core to completely change the way we looked at the problem.

The reason this is a language-agnostic observation is that it has *nothing* to do with the code itself. You're talking about changing specifications. Working on the specs until they're simple and easy to understand is the most important (and usually hardest) part of designing software. Once the specs are straight-forward and easy to understand, the rest of the design (including writing the code) is much easier.

When I'm designing software I try to describe the problem in the simplest possible terms (and usually that includes explaining/working out a completely different description of the original problem to/with the client), then think of the simplest solution , and implement that. The reason is simple: software and specifications are only useful to humans, and humans actually don't get along well with complexity. This includes the end-user and the programmer.

It still takes experience and taste to make it work, though - I've made plenty compromises to this ideal. I don't know of any sound-bites to explain software design :-)


Comment on Re: On Quality
Re^2: On Quality
by fletcher_the_dog (Friar) on May 11, 2005 at 14:39 UTC
    The reason this is a language-agnostic observation is that it has *nothing* to do with the code itself.
    Regardless of the specification, the actual implementation of a solution for a given specification can vary tremendously. Often times the person giving the specification does not need to know anything about how it is implemented, but the implementor needs to be able to anticipate how the specifier may change his specification. The OPs observation has very much to do with the code itself and how you implement things and how tight you couple things together.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://455793]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2014-07-28 07:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (192 votes), past polls