• 0 Posts
  • 7 Comments
Joined 1Y ago
cake
Cake day: Jun 19, 2023

help-circle
rss

break and continue are just goto in disguise … use return instead of break

An if statement is goto in disguise. So is a return.

Some would argue having 10x 4-line functions are worse for readability and debugging than a single 40-liner, because to actually understand the code you have to jump around all over the page (another disguised goto - for your eyes!)


I can certainly symphatise. I’ve been pushed to temporarily take management roles, either client-facing or reporting directly to a C-level. Been encouraged by the team to take on the roles permanently.

What they don’t see is how mentally exhausting it is to actually shield the team from the BS on the other side, when you genuinely care about the people in your team. Yeah, I could use the money, but I don’t trust myself to not act on the homicidal thoughts that pop up once in a while during those times…


Like, ignore the last century of postulation. We just knocked this out real quick.

Oh wow thanks, TIL. I was a kid in the 90s, and always taught and read “there’s many guesses, but the most likely theory is a massive impact causing global changes”. And only today I learnt that it was a relatively new theory at the time, and the crater wasn’t even identified until the early 90s!


grep is your very best friend.

This. And also, in many cases, an ‘adjacent’ grep may help. Say you want to move the “OK” button on one screen. Searching for the string “OK” would be overwhelming as that would be all over the shop.

But you notice there’s a “Setup…” button next to it. Searching for that could potentially cut down your search results by orders of magnitude. The more obscure the text, the better.


Tbh it starts to look better to just define a constant and comment it.

Well… if (waterPressure > MAX_PRESSURE_BEFORE_YOU_FLOOD_THE_WHOLE_TOWN_OF_IPSWICH_AND_CALNE) is pretty self-documenting. No comments needed.


…what the code does, not why it does it

This is my issue with “it’s self documenting code!”. I’m a maintenance coder. I deal with people’s code long after they’re dead (or ragequit). Some are for control systems.

if (waterPressure_psi > 500) raise PipeMayBurstException. Okay, we’re dealing with water pressure, in psi unit, and if it’s too high, it may break the piping. Self documenting!!

Except that our pipes are rated for 1000psi. SO WHY THE 500?! Do we have one or two sites - out of hundreds - with lower rated pipes? I can double performance if we raise the threshold to 700, well within the safety tolerance, but AM I GONNA KILL SOMEONE when they upgrade to our latest controller??


“Mark works for MS” is a massive understatement. He’s CTO of Azure now.

And speaking of Sysinternals, arguably the most exciting update was when ProcessExplorer got a dark mode late last year :)