Code reviews are awesome! And boy is Python growing
Correctly drawing bar charts when the buckets into which responses fall are unequal in size leads to fast conclusions that get lost in the noise otherwise. But most of this newsletter is about one of the greatest practices in software development: code reviews.
I hope your week is going well!
New articles
Python Programmers’ Experience
One of the items in the Python Developers Survey was presented a little clumsily. With the right visualisation the data really stands out – and makes it clear why so many Python programmers are junior.
Full article (1–3 minute read): Python Programmers’ Experience
Code Reviews Do Find Bugs
Code review is awesome. It really works, and science supports that. Imagine my surprise when a Microsoft paper states the opposite! It turns out their data does not support their conclusion, and even so they uncover some of the other benefits of code review. This was a false alarm.
Full article (3–10 minute read): Code Reviews Do Find Bugs
Flashcard of the week
On the topic of code review, it seems that some people are able to uncover more errors than others.
What do experienced programmers do during code review that seems to allow them to find more faults?
We have been able to discover this with eye tracking and interviews:
They spend more time on the initial scan of the code, where they build a mental map of the code to be reviewed.
Unsurprisingly, a lot of the problems with code are not incorrect statements as such. Rather, problems happen in interactions between components: one part of the code assumes something is true, and no other part guarantees that it is so. By spending a little more time on building a mental map of the code to be reviewed, these sorts of boundary/interface issues can be discovered more easily.
Your opinions
As always, I cannot improve without feedback. Reply to this email to share your thoughts on any of the topics above, or anything else!