Ask HN: What tone to use in code review suggestions?
31–40 of 309 posts
Re: Ask HN: What tone to use in code review suggestions?
#32‶This code is duplicated several times.″
—
2) State the change you'd like.
‶I'd suggest extracting it to a separate function.″
—
3) (Optional) Expand on why you suggest solving the issue with this solution instead of another one.
‶We could create a macro instead but it's not worth it as we can just let the compiler decide whether to inline the function or not.″
Re: Ask HN: What tone to use in code review suggestions?
#33Re: Ask HN: What tone to use in code review suggestions?
#34There's basically two categories here: - you have an opinion on how things ought to be done and want a dialog - you see some code that's wrong or violates an agreed-upon rule and so it should be changed with no discussion I'd switch the tone based on what you're addressing. Giving a rationale when you share an opinion or point out a mistake also softens the tone (for the better IMO). >* Should we extract this to a se…
Re: Ask HN: What tone to use in code review suggestions?
#35Re: Ask HN: What tone to use in code review suggestions?
#36I think the real problem is the we lack a framework that makes explicit:
* What is the goal of a review, according to the team? Spotting bugs? Prevent security flaws? Guarding the architecture? Making suggestions to grow better as programmers? These goals partially overlap, but are different. Are you aligned, as a team?
* Encode your priority in each comment. We could use some semantic prefix for a comment that categorizes it as, in increasing order: 1.suggestion to share views and alternative approaches, do as you please / 2. I think another approach would be better, suggest you use it / 3. I think it's very important to change something, let's discuss / 4. I'm not willing to approve or compromise, but feel free to get approval from someone else / 5. If anyone allows this to be merge, I will escalate.
Then still we should use good tone, but it's more explicit what to expect, now. Open communication is key to a psychologically safe environment. But I'm Dutch :-)
Re: Ask HN: What tone to use in code review suggestions?
#37"I find this method to be overwhelmingly long and it's hard to keep track through all of it. However, it looks like this, this and this are rather isolated steps, they could be extracted to make the overall structure easier to see".
"To me, this, this and this look like duplicated code. Do you expect them to evolve differently, or could they be extracted into a common function / module?"
And if the code goes against architectural or style guidelines, it also softens the feedback to start with that reason and go to the suggesting from there. "This class was designed to be independent of that module to be testable. Please extract your code into the foobar-interface and inject it"
Re: Ask HN: What tone to use in code review suggestions?
#38* "We're repeating this in a few places. Could you extract this to a separate function? It'll keep the codebase smaller and more readable, and if we update it, there's only one place we need to change."
Re: Ask HN: What tone to use in code review suggestions?
#39Personally, I have roughly three distinct levels of things that I comment on in code reviews:
1. Does not need response, but is my personal opinion about how the code probably would look nicer. In this case, I would do #2. If you just say "no," that's fine. I can revisit the issue later. Some people think these comments don't actually belong in a code review, and I think it depends a lot on your relationship with the code and the person asking for review.
2. Needs response, but is potentially open for discussion instead of a change to the code. I would do #4 here.
3. You must make this change or I will not accept. I would personally do #6. There is no need to use "non-confrontational" language with many people when you mean to be confrontational. There is a hard line about what you will and won't accept. If it is a major comment, you need to explain your rationale here out of courtesy to the person sending you code.
Most things that fall into the third category are around code style conventions and minor bugs. More substantive changes, like changes to an architecture, often fall into the second category.
Edit: Also, when I nitpick your code for one reason or another (which generally only happens when I am enforcing a company style guide), I will often say "Nit:" and then use the sixth style. If you are new to the team, I will quote the guide to you. Most people don't feel so bad about the nitpicks when you admit that you are nitpicking, and that it is for a reason.
Re: Ask HN: What tone to use in code review suggestions?
#40Once I have worked with someone for a while (and perhaps have gone out for beers / coffee a few times), I write shorter comments.
At that point, they've usually figured out that I mean well, but am blunt.
For new hires, I spend a lot more time spent on "why" and tone.
If my team set guidelines for this, that'd be a strong signal of much, much deeper dysfunction and I'd consider switching jobs.