Seven Pillars of Pretty Code

The essence of pretty code is that one can infer much about the code’s structure from a glance, without completely reading it. I call this “visual parsing”: discerning the flow and relative importance of code from its shape. Engineering such code requires a certain amount of artifice to transform otherwise working code into working, readable code, making the extra step to leave visual cues for the user, not the compiler.

Code changes should blend in with the original style.

Keep columns narrow. Just as with books and magazines, code should be narrow to focus the gaze.

Two or more pieces of code that do the same or similar thing should be made to look the same. Nothing speeds the reader along better than seeing a pattern.

Overcome Indentation: The left edge of the code defines its structure, while the right side holds the detail. You must fight indentation to safeguard this property. Code which moves too quickly from left to right (and back again) mixes major control flow with minor detail.

via Whitepaper: Seven Pillars of Pretty Code.

Does Software Development Have A Culture Of Rewarding Failure?

Why yes, yes it does.

Crappy, death-march projects are routine in software development. Projects begin with unrealistic expectations, concrete commitments are made based on estimates and information that is far from concrete. And when things inevitably go pear-shaped developers cop the brunt of the fallout. We are forced to shortcut our process and compromise on quality and when that is not enough, well we just work longer and longer to make up the shortfall. At the end everybody is stressed and tired, but sometimes the gargantuan efforts are enough to get the project (or what’s left of it) into production. When that happens, we crack open the champagne and hail the project as a miracle of modern software development. Everyone shakes their heads and marvels at how the team was able to do the impossible. Awards and praises are handed out and everyone is too happy to notice that the project was actually a year late and millions of dollars over budget. I lie, everybody is well aware of the fact that the project was a complete debacle, but with so many people patting each other on the back, it just doesn’t seem politic to say anything. You would agree that this is the ultimate in positive reinforcement.

(All emphasis in original.)

And then managers wonder why the developers are unsatisfied with their work — or why they quit after a death march project. Via Does Software Development Have A Culture Of Rewarding Failure.