Debugging Journal. Though to be honest, it's hard to stick to this habit. When I do make entries, they are of the form:
- Symptoms (how is the bug manifesting)
- Initial Observations (This is where you dig into the code/debugger and write down all the weird things that are happening)
- Guess (A statement of what you think is causing this based on your observations)
- Fix (what change you made)
- Result (Did it fix the bug? Did some new bug pop up as a result?)
- Repeat till bug resolved
Obviously, it's hard to keep writing so meticulously about bugs, but it sure does help when something similar pops up again.
- Symptoms (how is the bug manifesting) - Initial Observations (This is where you dig into the code/debugger and write down all the weird things that are happening) - Guess (A statement of what you think is causing this based on your observations) - Fix (what change you made) - Result (Did it fix the bug? Did some new bug pop up as a result?) - Repeat till bug resolved
Obviously, it's hard to keep writing so meticulously about bugs, but it sure does help when something similar pops up again.