In the months leading up to the launch of these new tools, SmartBear conducted a study with more than 650 software engineers. As you can imagine, studying the tendencies of software developers was interesting all around, but one of the most intriguing tidbits we discovered is that game development is among the top industries to regularly conduct peer code reviews. To us, that was a surprising statistic—sure, we expected security and medical devices, but gamers? However, after we did some deep thinking and a little research, it all started to make sense.
Why are game developers so likely to do peer code reviews?
Gaming code is more subtle and complicated than one might think, especially the modern games we’ve come to expect with personalized avatars, Easter eggs, intricate mazes, secret passages and worlds within worlds within worlds. In addition to all that, game customers can be pretty demanding, so the code needs to be flawless. Users invest an enormous amount of time and money into games they like, but they will also lose loyalty, flood social media with complaints, and move on to another game with any sign of a serious defect.
The gaming industry is extremely competitive.
Because of all of this, it can be very difficult to fix bugs after a release with video games, whether they’re online or boxed and shipped. Online games typically have users around the clock, creating a very difficult situation if code needs to be updated without causing user impact. If the game is boxed, updates are more complicated to push to your users and may not be available if they can’t all accept online updates.
Game developers do code review because they can’t afford risk, and they know that not doing code review is a risk. However, video games also tend to have a lot of money behind their releases. Is doing code review more than most teams can handle?
How anyone can incorporate code review into a development process.
Incorporating code review into your development process can seem like a daunting task. The big red flags are, of course, time and money. Truly, code review will save you time in the long run, especially with certain types of bug fixes that are better fixed before checking in rather than just before a release.
You’ll also reap the benefits of collaborating with other developers, learning from their feedback, and trying out new skills you may have picked up.
Committing to do code review yourself is the first step, but you can’t do it on your own! Convincing your team or organization to do it with you may be a bit more challenging. Here’s where the second of the red flags comes in: money. A free tool like CodeReviewer (which SmartBear just released today!) can greatly facilitate the adoption of code review across a team, simply because it’s a free tool. But, why use a tool at all?
What’s the point of using a tool?
Many developers do some sort of code review with fellow developers in their office. “Over the shoulder” reviews definitely have their place, but tool assisted code reviews can bring benefits you may not have thought of.
First, if your team is spread across the globe, country, city or even sleep schedule, a tool makes it possible to get feedback from anyone you can connect with over the Web. With CodeReviewer, all that’s required is a download from each member of the review team.
Additionally, there are all kinds of reasons you might want to document that review process: To prevent repeat comments, to go back and review your bugs and comments later, to hand a review over to a manager, to establish best practices across your organization, and the list goes on. But, mostly, using a good tool, especially a free tool, simply helps motivate individuals and teams to do code reviews. And that’s what we need a lot more of.
So, while you may wish you could be like the gamers and create the next unicorn apocalypse sensation, please don’t jump ship just yet. We need all those financial, health, security, media, transportation, communication, etc., software developers out there to keep doing what they’re doing. We also need all that software that actually runs our world to function as flawlessly as the latest version of WoW.
- Fabrice Bellard: Portrait of a Super-Productive Programmer
- The Biggest Changes in C++11 (and Why You Should Care)
- Today’s Smalltalk: A Second Look At The First OO Language