Loading…
Great Code Reviews—The Superpower Your Team Needs
2023-10-18
- Source
- Shopify
- Published
- Added to Yomu
Summary
The article presents code review as a way to improve software quality, learning, and shared team responsibility, contrasting it with large, shallow pull requests that provide little actionable feedback. Its practices include keeping PRs small, using Draft or WIP PRs for early direction checks, limiting each PR to one concern, focusing comments on code rather than people, choosing reviewers with relevant context, and giving reviewers a clear map through the PR description. For data engineering, it gives an internal guideline of roughly 200–300 affected lines, while warning that excessively tiny PRs can obscure the overall picture. The stated benefits are faster, deeper reviews, easier rollback and iteration, better knowledge sharing, and a codebase that does not depend on one person, although the article frames these techniques as experiments teams should adapt.
Context
The article addresses code reviews that barely examine the work or provide unclear, difficult-to-act-on feedback. It connects this problem with slower learning, weaker knowledge sharing, lower code quality, and the risks of merging large changes without sufficient understanding.
Approach / What changed
It recommends a set of practical review techniques: keep pull requests small, use Draft or WIP PRs for early feedback, separate work by concern, focus communication on the code, choose reviewers with suitable context, and provide a detailed PR description that explains objectives, risks, alternatives, and affected systems.
Takeaways
- For internal data engineering work, the stated guideline is about 200–300 lines of code affected per PR; larger changes are almost always split into smaller blocks.
- Draft PRs are used to validate direction—including algorithm, design, or API choices—before time is spent on details, polish, and documentation.
- A PR description should explain why the change is necessary, who benefits, what could go wrong, which alternatives were considered, and what other systems it affects.