Our programs don't exist in a vacuum. We write code and expect it to be read by many other developers in its life.
- Others will need to read our programs.
- We need to be able to evaluate improvement.
- Being able to understand foreign programs should be vital to how we measure the success of our code.
We often use metrics of how quickly we can write the code, or how "smart" or "intelligent" the solution is. While personally, this reflects an internal feeling of pride in our own work, it fails to consider how this code will be used by future developers.
- A program will be written once, but every change will require a reread, and not always by the original author.
- When you are rereading your own code, you'll be able to understand what you wrote previously much faster when it's simple and clear.