DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • What Is Istio Service Mesh?
  • Building A Log Analytics Solution 10 Times More Cost-Effective Than Elasticsearch
  • AI Technology Is Drastically Disrupting the Background Screening Industry
  • Send Email Using Spring Boot (SMTP Integration)

Trending

  • What Is Istio Service Mesh?
  • Building A Log Analytics Solution 10 Times More Cost-Effective Than Elasticsearch
  • AI Technology Is Drastically Disrupting the Background Screening Industry
  • Send Email Using Spring Boot (SMTP Integration)

Three Keys to Code Review

How to get started with implementing code reviews within your team using three important aspects.

Maria Khalusova user avatar by
Maria Khalusova
·
Dec. 04, 15 · Opinion
Like (14)
Save
Tweet
Share
13.40K Views

Join the DZone community and get the full member experience.

Join For Free

Code review is a great practice that can help you and your team improve your skills and build better software. Most of the teams understand the value code reviews brings to the table: improved code quality, shared knowledge and responsibility, increased bus factor, faster onboarding of the new team members, etc. Yet many find themselves struggling to adopt the practice, while essentially there are only three key aspects to keep in mind that help you successfully start with code reviews.

These are: team, process, and tool.

Team

First and foremost, you cannot adopt code reviews without having your team on board and expect it to bring results. If your team does not see the value of reviewing code or does not understand the reasoning behind it, they will not be motivated to go through with it. Some may ignore or even sabotage it. Most people don’t like changing their routine unless there’s a good reason for it, so it is crucial to make sure the whole team understands what goals you set with adopting code review, what changes it brings to the development process, who is expected to participate and so on.

Let your team voice their concerns and then address them, have an open dialogue, discuss the potential problems you want to focus on with reviews, maybe even create your own code review checklist depending on the project’s needs.

Process

When introduced, code review becomes part of your development process, so you’d want to think where it fits exactly. Should it be post-commit review, pre-commit, pull requests, or maybe feature branch review? Ask yourselves, do you plan to review every single commit, or only certain changes? That largely depends on the kind of project you are working on.

Consider who’s going to participate in the code review process and who’s going to review code. Is it everybody, or only senior developers? Do you want new team members and junior developers to review code to get on board and learn faster? Note that best practices suggest the average of 2 reviewers, so if you want to have inexperienced developers participate in code reviews, it may make sense to pair them up with someone who is familiar with the part of the project under review.

Don’t be afraid of iterations. Code review is in essence an iterative process, and each iteration means that the practice actually brings value — a problem was found and addressed — or a misunderstanding was resolved. 

Don’t postpone reviews, but don’t spend too much time on them either. If you follow general software development best practices and keep commits small, it shouldn’t take more than an hour to review a change, likely a lot less than that; and it shouldn’t be hard to find this time for a review within 24 hours. Do a code review after lunch, or as the last thing before you leave the office, or as the first thing you do next morning when you come to work.

Tool

Find the right code review tool for you and your team. Luckily, you’ve got plenty of choice: from reviewing pull requests on github to full-fledged on-premises solutions like Upsource from JetBrains. Choose the one that fits in your environment (e.g. supports your version control system, issue tracker, has code insight for your language of choice, etc.), and your process. The right tool can help you not only record all the technical discussions you have during code review, but make the whole process smooth and efficient. 

Keeping these 3 aspects in mind is not a 100% guarantee of efficient and trouble-free code review from the start, but ignoring them will surely cause havoc.

Opinions expressed by DZone contributors are their own.

Trending

  • What Is Istio Service Mesh?
  • Building A Log Analytics Solution 10 Times More Cost-Effective Than Elasticsearch
  • AI Technology Is Drastically Disrupting the Background Screening Industry
  • Send Email Using Spring Boot (SMTP Integration)

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: