this post was submitted on 11 Oct 2023
1110 points (98.1% liked)
Programmer Humor
31793 readers
160 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Rule 9 from Agans's Debugging: If you didn't fix it, it ain't fixed
Intermittent problems are the worst...
The problem is, how do you fix it if you can't make it break?
The worst thing is when somebody comes to you saying "yeah, I had this problem yesterday, but it's working now".
this is a case for excessive logging man
likely won't help you actually fix the issue because miraculously you didn't log the three variables you actually need but it'll make you feel better in the meantime
and gives you some headroom in improving performance since it's being choked by the excessive logging
You should have a unit test you can run until failure
Fully agree, but they're usually kind of annoying to track regardless. On the opposite side, sometimes even getting it to trigger on purpose to be able to add a regression test can be pretty tricky, depending on the cause. Timing or time/date based stuff is a common culprit...
Don't tell me about time and date, I am still recovering from some moron that used datetime.now() for some unit test data setup and sometimes two records (which needed to have the same time) had very slightly varying time which caused all sorts of intermittent test failures that were very tricky to nail down. Database triggers were failing causing failures in all sorts of tests in a random fashion