Hacker News new | past | comments | ask | show | jobs | submit login

Being a little snide... that sounds like a unit test that occurs to you after encountering that bug.



It's a conceptual error with the problem, which means that it indeed WAS missed by unit tests. I wrote some of those and checked the "overlapping numbers" case; the difference was that I did so in a naive situation where the values were inserted once and never updated.

Now, it would have gone from a "mysterious" error to an obvious one had I done an academic-style step-by-step visualization applet of the entire structure's processes before integration, but I had confidence when the code was first written that because this structure was being used with extremely high frequency, the only thing I had to write an explicit test for off the bat was off-by-one ranges causing edge-case "near misses"; anything else would make itself known at runtime after integration.

Time it would have taken for a visualization applet: ~3-6 hours? Time it took to solve the bug: ~3 hours

It's placing a bet - and the bet is that the bugs are limited to a specific segment of code that can be narrowed down easily; if the problem were architectural in nature I'd be in far deeper shit because that would make the same class of bug appear all over, with any number of different symptoms.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: