O'Reilly logo

Becoming a Better Programmer by Pete Goodliffe

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 38. An Ode to Code

All bad poetry springs from genuine feeling.

Oscar Wilde

Gerald was a coder who worked in a small team. The thing was: other coders coded code that was not clean. The mess was detrimental, distracting, diabolic; The inhumane detritus of an evil workaholic.

But Gerald had a conscience. He wouldn’t let this lie. He lay awake at night devising schemes to rectify The awful internal structure, the confusing variable names, And the contrived control flow that was consistently insane.

Those early days the “Boy Scout Rule” was how he planned to beat The bugs and turgid software that had formed beneath his feet. A tidy here, a bug fix there, refactors left and right. Pretty soon, he thought, (with work) they’ll all be out of sight.

But poor old Gerald, plan in action, missed one vital fact: To make a dent, all programmers must enter in the pact. His slapdash coding colleagues, just saw a rule to flout And continued writing drivel whilst he tried to sort it out.

One step forwards, two steps back. Gerald danced this dance. Until he learnt he needed a more militant stance. Agile teams are excellent and clean code is the best. To achieve this: the team, and not the code, would have to be addressed.

Conway’s law describes to us how software follows team— Sympathetic software is born from a well-oiled machine. If cogs get stuck or grate, and stop doing what they ought. Then there’s only one option: to remove them, Gerald thought.

So the team refactor started, with the pattern: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required