DEV Community

Paul
Paul

Posted on

How do distributed teams do code reviews?

Like the title says. My team is all in the same location. We occasionally work remotely, but for the most part we come into the office. When we need to do a peer review, it's done face-to-face. If a team member is remote, the review has to wait until they're back in the office. So I was wondering, how do you do code reviews if the team members don't share a physical location?

Top comments (7)

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

Similarly to how you do it in open source projects - one person opens a pull request, another person takes a look at it, writes comments, gives feedback etc. At the end when everything seems good the reviewer approves the pull request and it's merged.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

You open a PR, or send patches to whatever mailing list, or however else you submit things for review.

You then proceed to wait for approvals or requests for clarification from responsible parties you flagged for review (or who were flagged automatically), respond as appropriate, and repeat until everyone who needs to review it has.

In the event that you need 'synchronous' communication to explain something in depth, you schedule a time with everyone who needs to be involved and either do a video call, or chat on IRC, or something similar.

Honestly, this is how everyone should be doing it, not just distributed teams. I would go insane working for a company where people couldn't submit reviews if they were working remotely, it seriously hurts efficiency on multiple levels.

Collapse
 
chico1992 profile image
chico1992

You could also use a video chat app like skype to do the review « face-to-face »

Collapse
 
manishfoodtechs profile image
manish srivastava

We do it by gitlab. It's open-source and you can host in your company server. There are other pieces of software available both paid and open-source without git. We have kept it simple by gitlab

Collapse
 
alexzeitler profile image
Alexander Zeitler

+1 for GitLab. Even if your team is not remote it makes things mach more transparent for everyone. After years of running the self hosted version we’ve switched to their silver plan because there’s so much value in it.

Collapse
 
manishfoodtechs profile image
manish srivastava

Gitea is another good option . But I will also +1 for Gitlab

Collapse
 
devdrake0 profile image
Si

That sounds really laborious and must effect your productivity?

Code reviews should be able to run asynchronously, and shouldn't need the raiser to be in attendance.

What's your workflow/tools?