I don't see the two practices as antithetical: complex features with a lot of potential pitfalls take advantage from pair programming; code reviews are perfect for BAU tasks. I am a bit suspicious of the ecstatic tone that the author has while writing about pair programming: I am not sure I ever met someone who deeply enjoys it; at best it's seen as good practice, or a necessary evil.
Pairing vs. Code Review: Comparing Developer Cultures
21–25 of 25 posts
Re: Pairing vs. Code Review: Comparing Developer Cultures
#22Has anyone ever tried a balanced approach like this? Such as spending 2-3 days each week pairing on a part of a project to help with knowledge sharing, best practices, or possible bad paths, and then the rest solo coding with some final code reviews?
Also, what is the best form of code review? Is it having a single developer be assigned to perform a code review for each pull request or for it to have some gestation period for crowd comments to come in, or even some voting quota/discussion until a simple consensus is reached? There seems to be some room for a variety of time/quality trade offs (in theory, more eyes == higher quality, more time).
Re: Pairing vs. Code Review: Comparing Developer Cultures
#23Re: Pairing vs. Code Review: Comparing Developer Cultures
#24Great post. We use Gerrit code review, with side-by-side reviews. I.e. the developer pushes to Gerrit, then sits down with the reviewer and walks him through the code. 99% of the bugs are found by the original developer -- after he is forced to explain what he did (and why) to a colleague. I think that this gets you at least some of the benefits of both approaches.
This is an interesting practice, thanks for sharing. I'm really curious about different sorts of hybrid approaches being used in the wild. I'd be curious to hear how the day-to-day schedule ends up working out between developers, since the review process is synchronous in this case.
Re: Pairing vs. Code Review: Comparing Developer Cultures
#25Great post. We use Gerrit code review, with side-by-side reviews. I.e. the developer pushes to Gerrit, then sits down with the reviewer and walks him through the code. 99% of the bugs are found by the original developer -- after he is forced to explain what he did (and why) to a colleague. I think that this gets you at least some of the benefits of both approaches.
Unfortunately the explanations aren't left as code comments, so they may be lost. One ting nice about code review is that the code must stand on its own to pass. That means that it's likely to be understandable a year from now.