In his book Antifragile, Nassim Nicholas Taleb writes: “Errors are rich in information”. Every time I fix a particularly tricky or interesting bug, I take a few minutes to write down some facts about it.
Suggested entry template:
Date:
Symptom:
Cause:
How found:
Fix:
Fixed in file(s):
Caused by me:
Time taken to resolve bug:
Lessons:
Coding. How can I adjust my coding to avoid these problems in the future?
Testing. What test case was missing?
Debugging. How could I have sped up finding this bug? Did I assume too much? Do I need better logging in the code?