Learned something similar on a previous job. Prefix it with "#must", "#should", "#could", "#would".
We've also extended it with some other things that you may want to comment, but are not necessarily actionable. "#wont", "#idea", "#tip", "#question", "#risk", are pretty much self-explanatory.
"#fun": an ugly workaround that could've worked; some funny situation that the change could cause; ...
"#domain-knowledge"/"#debrief": really nice if you are working with people that are more junior, or not that familiar with this codebase in particular. May help other reviewers understand better why the author made certain decisions.
* NICE: Optional change. PR is approved.
* SHOULD: Highly suggested change. PR is neither approved nor rejected.
* MUST: Must be fixed. PR is rejected.
This also helps the PR author to know which of my comments have to be addressed to resolve my rejection.
So "Green: Why did you do it this way?" immediately comes across differently to "Red: Why did you do it this way?"
Prefix every suggestion with M, S or C and then just write the suggested change as a plain statement. The prefix handles the severity and importance without you having to worry about tone.
Coulds can be ignored by the coder author with no explanation as to why they are ignoring but if they have time or want to implement the change then they can. Shoulds can only be ignored with a reason and the reviewer has to agree or the change should be made. Musts have to be implemented and should be used rarely. The only person who can over rule a must is a department head, lead or CTO type person.
This massively reduces friction in the CR process.
Article here: https://allthecode.co/blog/post/how-to-get-better-at-code-re...