Ooh good shout. “Code Complete” by Steve McConnell is also good.
a bit old school I would have thought – and I wasn’t impressed by it back then really.
some interesting stats in there though – like the people that do the small ‘patch’ fixes often introduce more bugs that the person that makes the larger changes – maybe as part of a refactor – as their bigger changer has made the effort to understand the software, whereas the smaller changer is just patching it up and may not understand it as well.
From that era I thought Writing Solid Code was much better :
although not so relevant nowadays if you are using test frameworks and that style, this is more from the ASSERT days.
Interesting where he says he went round Microsoft to persuade people to use these good practises, as they weren’t, and had resistence.
There’s a good quality story in there which still stands.
He had two coffee shops near his work, both used the same beans and the same machines – one had very good and consistent coffee and the other was low quality and very variable.
The difference was that the good shop had two lines drawn on their perc jugs.
When you ordered a coffee the server would pour from the available jug, and if the coffee went below the top line the would then put the next percolator on, and then finish serving the customer.
Then they could continue serving from that same jug and by the time it was empty the other one had finished and was ready. I think the bottom line determined when it was ready, you couldn’t serve from it until the coffee was over the bottom line.
In the other shop the server would pour the coffee, finish serving the customer, and then start the other percolator up if the current one was low.
Because of the timing difference and the lack of a defined line marking when the coffee should be deemed low and to therefore start the other one, often the new percolator would not be finished before the other one had run out, so a customer at that time would get strong coffee frmo the new percolator and the following ones would get weak coffee.
That is one story I always remember, a simple process is all that is needed to ensure quality.
The other one is a quote from Marc Anderson that A grade people hire A grade people, B grade people hire C grade people.