A few responses. I agree on switch however if you look at what it compiles to it is markedly more efficient than a stack of ifs. As the cases are often consecutive integers a good compiler will create extremely fast jumps. And a switch has a default to catch unhandled values while in the if-ladder they just dangle.

I don’t see why an extra line should be an issue; earlier today someone argued to me in favor of early returns, which I regard as unacceptable, as a means of avoiding “excessive indentation.” We aren’t on 80-column monitors anymore; there is no such thing as excessive indentation.

Commenting should be at block level at most; too much is worse than too little. It’s as much a part of the job as the code, since even the author will forget his own reasoning.

By the way I would appreciate it if you’d avoid the jargon “technical debt”; call it what it is: unfinished work. There is way too much gurgle burble in software right now.

Not sure how I feel about collaboration; I only work in an ownership role but if we must collaborate I would rather use Code than the abhorrent practice known as pair programming; were I in an office and I was told to pair program I would resign on the spot. That is nuts. But collaboration would work better than code reviews, because I have never been in a code review where people didn’t come straight from the printer and do formatting quibbles, and pull requests are useless.

Better article than most on here, thanks.

Written by

American Software Developer living in Vietnam. Classical musician (guitar, woodwinds), weightlifter, multilingual, misanthrope • XY

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store