If You Didn't Fix It, It Ain't Fixed ==================================== This rule should be obvious, but sometimes changes or instrumentation conspire to mask a bug giving the illusion that it is fixed. Adding instrumentation can change memory layouts or timing, but it can't *fix* a problem. One should always understand what a fix does and *why* it fixes the bug. Otherwise, the bug is not fixed. Here are some tips on creating fixes. * Apply your fix to a pristine version of the code (see :ref:`git_reset`). Ensure you remove debugging code (including debug printfs) that might combine to hide the bug. * If your failure is reliably reproducible, then your fix should reliably prevent failure. * Check that the bug returns when you remove your bug fix.