I usually write code with syntax highlighting enabled. While preparing my final commit message, I view the proposed diff in its own color scheme (red for removed lines, green for added lines, white for context lines). Even though I've spent hours working on a patch, I often spot mistakes in my newly added lines as soon as the color scheme changes. Apparently, psychologists
already knew about this phenomenon: “Once you’ve learned something in a particular way, it’s hard to see the details without changing the visual form.” The article suggests other visual changes like using a different font or printing to paper.
I use two other, related hacks for helping myself find mistakes in my code:
- go to sleep and review my code in the morning
- watch a video, play a game, read a book, work on a completely unrelated problem to force my mind to lose as much of its mental model as possible then review my code again
In each case, the new perspective often reveals details that I overlooked before.