On Thu, Nov 22, 2012 at 03:43:24PM -0800, Jonathan M Davis wrote: > On Thursday, November 22, 2012 15:36:58 H. S. Teoh wrote: > > In theory, software is implemented according to the design that has > > been carefully worked out beforehand. In practice, design documents > > are written after the fact to describe the sorry mess that has gone > > on before. > > Or even more likely, no design documentation gets written at all... [...]
Or any documentation at all. I recall, with a shudder, how one fine day a high-priority Javascript project (high-priority as in, it was due the week before it was given to me) was dumped on my lap, consisting of a non-trivial class hierarchy and bunch of modules of at least 3-4 layers of abstraction, with absolutely no documentation whatsoever. No design docs, no code comments, nothing. It was "read the code, pray you'll understand it all in 3 days, implement the new features of questionable feasibility, and hope it doesn't break". Some of the code involved 4-5 levels of nested closures accessing badly-named global variables. You can imagine the hilarity that ensues when the guy who wrote the mess leaves and a new person comes in having no idea what the code is supposed to do. T -- If it tastes good, it's probably bad for you.