But could you give me an example of a situation in which someone could take "the time to produce good code when bad code would be more appropriate"?

A simple case is triage: given that resources are almost always limited[0], should one spend time to fix up an ancillary part past functioning when the critical parts remain broken?

Another case is "more haste, less speed":

(from a 50 year old document)[1]
There are occasions when it is necessary to write programs which will be executed in as little time as possible. The programmer should bear in mind that 10,000 executions of all non-optimum instructions would take less than 3 minutes longer than 10,000 executions of optimum instructions. If the programmer spends 15-30 minutes on each routine to save machine time by optimizing, this time may never be made up in the actual running of the problem.

The modern non-technical reader should bear in mind that in 2006, 10,000 executions of instructions at this level (10ms per rotational access?) takes but a fraction of a second. But the advice remains valid: while the quantities change, the quality of the tradeoff does not.

There must be old folk-tales which express a similar caution. Can anyone give me an example?

-Dave

:: :: ::

[0] when measuring a project on the triple (Delivery Date, Quality, and Features) the folk saying is "pick any two".

[1] "Royal McBee LGP-30 Subroutine Manual", 1957?
http://www.wps.com/projects/LGP-21/Documentation/Subroutine-Manual/ PROGRAMS-9.0-11.0r.pdf

:: :: ::

Considering the abstract meta-value of code - I wonder if coding itself should
become a profession like medicine.

I imagine it'll be pretty self-correcting: the coder who is hired on his ability to pronounce the names of a few languages and patterns, like the doctor who is engaged on his ability to pronounce the names of a few diseases and symptoms, has a fool for a client.


Reply via email to