4 ms·
You get vastly better results if your team has culture of having smaller pull requests. The effort required to review a PR is non-linear, so make sure that: -
by isbvhodnvemrwvn 4y ago
You get vastly better results if your team has culture of having smaller pull requests. The effort required to review a PR is non-linear, so make sure that:
- high-level tests can be submitted before code implementing them exists, they just need to be disabled and then selectively re-enabled in subsequent PRs - this way any logical design issues should surface in tests which should be much cheaper to deliver and iterate on than implementation
- any refactoring is submitted separately (it's easy to verify because it doesn't affect any valuable tests, so it leaves out a whole class of issues), even if it didn't happen "organically" during development - take some of the burden on you so that your reviewers don't have to waste time trying to logically unlink these things in their head - it should be much easier for you, you wrote that code
- features are delivered in an incremental fashion whenever it makes sense - you probably don't need to submit a fully working solution, you can prop it up it with fakes or simply not expose the changes to the user (feature flags, or just simply not hooking up a feature yet)
If you do that, it makes things much more digestible, at some cost of understanding of the overall solution (starting with tests and necessary refactoring should help here describe what you want to achieve) and burden from having to split things. It has worked very well for me, in multiple companies.
- ebiester 4y agoSmall pull requests is the key. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/rigby2013convergent.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... was a study written on it (among other things.) This lines up with traditional code review wisdom.