This editorial was originally published on Jan 27, 2017. It is being re-run as Steve is on vacation.
When I was in college, I mostly wrote my own code for assignments (and fun), turning it in when I thought it was done. At some point I had a class that started to adopt more software engineering practices, and I was forced to get my code reviewed by a peer before handing it in. This was an interruption to my workflow (and more work since I had to review other code), but it did allow find mistakes I had made and seemed to improve my grade.
In one of my first development positions, I had to get two people to review my code before I could submit it for deployment. A humbling and painful process at first, but over time I became used to the idea. I'm not sure the quality of code improved, but it was more readable, more in-line with everyone else's code, and as we learned techniques that worked well, all developers adopted them quickly.
These days as I talk with various customers and clients, I find that code reviews are handled very inconsistently. Some companies require them, some have automated processes, some have ad hoc reviews, and everyone has ways to circumvent the system. Certainly emergency patches need to be made at times, often with little review, but I will say that it seems the more common a set process and practice is, the less issues a customer has.
If you review code, or have your own code reviewed, on a regular basis, I have question for you.
How much code can you review for a deployment?
The question I'm asking is about your process and habits. Is it worth reviewing every bit of code? Perhaps there are objects that you don't worry about as much as others, or certain developers that receive more (or less) review of their code. Perhaps seniority makes a difference as to the level of scrutiny. If there are problems found in QA and changes made, is there a way to re-review code? I'm wondering today about your process. Share what you can, and if you want to do it anonymously, please feel free to send me a note at sjones (at this domain).