Bolsters Code-Related Rants (An ongoing collection)

Andrew Bolster

Senior R&D Manager (Data Science) at Synopsys Software Integrity Group and Treasurer @ Bsides Belfast and NI OpenGovernment Network


  • Logging functions being called with just a variable and no comment as to what the hell it is

  • logging has functions more than, use them!

    • Debug = useful information if something breaks but isn’t interesting during normal operation

    • info = useful and generally interesting information

    • warn = something went wrong, indicating something should probably be refactored / fixed,_ but the system could recover from it._

    • error = oh dear jesus fuck the entire site evaporated into a swarm of zombie locusts, I better put something in the error log.

  • Commented out historical code! Using a version control system means you can go back to any point in the history of the codebase and see how we used to do something; you don’t need dozens of lines of extraneous code ‘just in case’

  • Checking in inoperable code to the default branch (I know I’m guilty of this sometimes too). If major changes to one section are being made, do it in a branch, that’s what branches are there for. Then, when the new functionality is stable, update your local code with respect to the default branch, then make sure** all the functionality still works** and only then commit and check it in to default

  • Non existent or orphan files; if you add a new file,hg add $filename before updating or committing, otherwise noone has any idea whats going on. Ditto removals of files, its hg remove $filename ; rm $filename, not the other way around.

You guys got any to add? I’ll be adding to this as I think of them… / come across them…

blog comments powered by Disqus