Bolsters Code-Related Rants (An ongoing collection)
Andrew Bolster
Senior R&D Manager (Data Science) at Black Duck Software 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 logging.info, 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, itshg 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…