Recently recommended to me by a friend, this post posits that effective code reviews have three phases. First: is the proposed idea even “good”? (Is it consistent with the project’s aims? Does the feature add value?) Second: is the architecture correct? (Stay out of the weeds; keep the feedback high-level.) Lastly: is the patch polished? (Now is the time to unleash your inner pedant and invoke the iron fist of the style guide.)
Sharp argues that this style of code review benefits the maintainers, the contributor, and the community around the software project. It allows for the right level of feedback to happen at the right time, and because of that, it avoids problems with people getting (for example) over-invested in a patch that isn’t appropriate to the project, or else getting discouraged because of nit-picky feedback right off the bat.