PullRequest co-founder and CTO Tyler Mann spoke to a packed room at the Austin Golang User Group about the importance of code review in the development life cycle, and security, error handling, and concurrency best practices in Go.
Photo by Constantine A. Murenin.
Tyler started his talk by describing the moment he realized the importance of establishing a high-quality code review process.
I was on the iOS team at Dropbox, and we already had more than 10 million daily actives of the iOS app. There were only three of us, and we inherited an iOS app that had no unit tests, no automated test coverage, and no QA team, so we had to test everything on our own. The only way we were able to uphold quality is that we really cared about code review. That was the first experience that showed me the value of code review, and how the process can be used to maintain a high-quality app used by millions of users. We maintained a super low crash rate compared to many other apps, and we were able to do that because of our code review process.
He reiterated the following four key reasons why development teams need code review:
- Deliver a higher quality product
- Improve readability and maintainability
- Share knowledge and level up
- Save time fixing incremental issues now versus big problems later
Even if you have a high-performing QA team, there are still specific types of bugs that can almost only be caught through code review, like security, race conditions, and error handling or logging. The fastest and most cost effective way to address these types of bugs are before they reach your test engineers or your users.
Far more time is spent reading code than writing it, so optimize for readability first.
Writing code is about pattern matching, and the faster developers identify the right patterns, the faster and higher quality the code is being produced.
Lastly, getting direct feedback on your code is one of the best and fastest feedback loops for improving how you write software.
Photo by @codysoyland.
At PullRequest, we help development teams catch security threats, stop crashes, and fix performance issues. We’re passionate about code quality and adding more engineering rigor to your review process. Sign up or schedule a 1:1 demo with our team today.