ISSUE #23 - July 9, 2017
Testing doesn’t put quality into software, it only shines the light on the good, bad and ugly that’s already present therein. To build higher quality software, consider applying specific best practices at the stages of design and development. This issue looks at code review. We will get to static code analysis next week.
Praise for code review as a process from two different ex-Googlers, written in 2011 and 2016:
A lighthearted take on the wrong ways to do code review, both as the reviewer, and the author of the code up for review:
Advice on improving code review practices from Asana (team collaboration SaaS). I liked the step where reviewer runs the app from the branch under review to help them understand what the change does, and possibly find bugs.
Code review practices at Atlassian (circa 2010): it’s not a bug hunt, and it’s not a blame game. They regard code review as an embodiment of the 1st principle of the Agile Manifesto: “Individuals and interactions over processes and tools”, and see improved code quality as a nice side effect.
This post opens with a code review template used at Server Density (monitoring SaaS provider) and touches on the testing aspect, both unit tests and manual testing of a pull request.
Description of Spotify’s 2-pass code review:
If you’re hungry for more articles on the subject, this is a 161-page PDF with a Cisco case study and lots more “Best Kept Secrets of Peer Code Review”:
Things worth learning: How innovations are born, with the background on statistical underpinning of, well, everything:
The above touches on Benford’s law, which is worth a more detailed read. The law states that in many data sets, values start with 1 about 30% of the time, while <5% of the values start with 9, instead of the about 11% you’d expect from uniform distribution. This is not a joke but very real albeit surprising math.
Back to innovations, for a taste of the software I work on, check out Quid’s network representation of news and companies data, where articles with similar language are combined into clusters, and nodes bridging two clusters reveal innovative ideas and businesses.
If you received this email directly then you’re already signed up, thanks! Else if this newsletter issue was forwarded to you and you’d like to get one weekly, then you can subscribe at http://testersdigest.mehras.net
If you come across content worth sharing, please send me a link at firstname.lastname@example.org