Live data from Hacker News

Conventional Comments

conventionalcomments.org

41–50 of 74 posts

Re: Conventional Comments

#41

Only tangentially relevant: I hate the word 'nitpick' (bad experience with small insects - thinking about nits makes me itch), but I don't know any other word for these "small, trivial, but necessary changes." Does anyone have alternative words they use in reviews instead?

off-topic:, suggestion:, consider:

I use nit, but usually for not necessary changes. If my only reviews on a change are nits, I leave the comments but give the greenlight for merging the change (at which point the author may ignore the nits or address them at their discretion)

Re: Conventional Comments

#42
post #29

It seems I disagree w/ many points. > - Leave actionable comments > suggestion: This is not worded correctly. > Can we change this to match the wording of the marketing page? If I already know how it should be, I prefer to quote it right away and save work, instead of asking and leaving room for misinterpretation. Asking also seems dishonest if I'm not truly inviting a discussion. I would still add a rationale so oth…

Yeah, I can agree with "this depends on the kind of work culture etc.".

Asking also seems dishonest if I'm not truly inviting a discussion.

I think it's really worth emphasising this. Further: If the reviewee understands that feedback can be discussed, then the reviewee can discuss whether they're asked or told. If the reviewer has more authority than reviewee, then asking really ought to be asking a question.

...then everybody is stepping on egg shells.

I think the intention behind rephrasing from "this is wrong" to "can it be this instead?" is to try and take the ego out of it. Except people are complicated and 'taking the ego out of it' isn't just down to a question of phrasing.

The reason code reviews are done is to try to catch mistakes earlier. (Mistakes are more expensive to once more development has been done on a task). I like the term "psychological safety". It strikes me as 'unsafe' if a review comments are a matter of the reviewer's ego over the reviewee's. It should be fine to make mistakes, and to have those mistakes corrected. Because people are complicated and emotional.

Re: Conventional Comments

#43

Only tangentially relevant: I hate the word 'nitpick' (bad experience with small insects - thinking about nits makes me itch), but I don't know any other word for these "small, trivial, but necessary changes." Does anyone have alternative words they use in reviews instead?

I'm also not a fan of this phrase, which is whipped out to be "helpful" in reviews at my current employer--probably after the last time this website or one similar to it bubbled up on HN.

To be clear, the (American) dictionary definition of nit-picking is "minute and usually unjustified criticism." In other words, this is definitely not a positive thing to do, which is why this word has such strong negative connotations. Who wants to be nitpicked?

Nit-picking is not a "necessary" change, which is what makes it an exercise in finding the tiniest of fungus flies lurking in a proposed change. "I don't really want to think too hard about what you're proposing, or what your pull request contains, so here's a nit I noticed while examining the bike shed in front of your nuclear plant. #didmyjobboss"

I don't know what a trivial but necessary change is, but that's certainly not a minute criticism.

Re: Conventional Comments

#44
post #29

It seems I disagree w/ many points. > - Leave actionable comments > suggestion: This is not worded correctly. > Can we change this to match the wording of the marketing page? If I already know how it should be, I prefer to quote it right away and save work, instead of asking and leaving room for misinterpretation. Asking also seems dishonest if I'm not truly inviting a discussion. I would still add a rationale so oth…

It's very easy to seem rude in text comments, even if it was not meant that way at all.

"Change 'this' to 'that'" is much harsher than "Could you change 'this' to 'that'?"

It's a small change in wording, but it changes the interpretation from "This is wrong, do this instead, I know better than you" to "I think this is a better way to do it".

Re: Conventional Comments

#45
post #27

I agree with the vast majority of this, but I have a bad reaction to “praise” and the idea that you should try to have one per review. I hate praise that feels forced, and it seems like this kind of practice would make it seem quite forced. I feel you could just say something like “good idea” and it would be fine without the prefix. Especially if your review tool of choice has a concept of actionable vs non-actionabl…

Someone's it's good just to butter someone up with an obvious but true bit of praise. It makes them feel better about themselves and they also like you more as a person because you said something nice.

For example, if I told my coworker in a meeting that I was impressed by how smooth her deployment went that morning, even though we both know it wasn't hard to get it right because there wasn't much new, it still makes her feel better about her role at the company and how professional she is, clearly motivational, and maybe later she is more inclined to help me out when I've hit a wall on my project, which makes us both more efficient. It also helps her to know I'm not a jerk, so later if I give her criticism she knows I'm trying to help her because I'm not always just the guy who criticizes, I also say positive remarks.

Clearly it has to be genuine praise, but I'm sure everyone can find one thing to praise in any PR.

Re: Conventional Comments

#46
post #31
post #16

Earlier quoted context omitted.

> most people can’t write and don’t know how to write something that’s valuable to the reader ...yes? And? 99.999% of people's comparative advantage is not in their writing ability. Add to this that learning to write to a quality level required for effective, efficient communication, is a far higher burden to place on someone, than the level of fluency required for basic exchange of information; especially for people…

I abhor the idea that learning to communicate effectively is "a waste of time." Rather than try to avoid learning an incredibly useful skill, people who CAN'T communicate effectively could use code review as a learning/skill building opportunity. If I switch "communicate," with "program," do you still think it's a good argument that people shouldn't obtain any more programming skill than the most rudimentary level, b…

> Do you still think it's a good argument that people shouldn't obtain any more programming skill than the most rudimentary level, because it would be a waste of time?

...if programming isn't their comparative advantage, then yes. A project manager, or a salesman, should not spend their time learning to code. It's not the most valuable thing they could be doing to increase their ability to do their own job.

> I think clear communication will probably help you write better, clearer, more concise code.

You realize that communication occurs in a specific language, and the problem is often more to do with lack of knowledge of the language the communication is occurring in, right?

Someone might be extremely eloquent in e.g. Spanish, but that doesn't mean they're going to be able to communicate effectively in English. But that also doesn't mean that they aren't going to be able to write good, clear, concise code. They already know how to communicate well; they already have the meta-skill that results in both good writing and good code. They just don't have the specific skill of arranging powerful, pithy words of English to concisely represent a complex concept.

Re: Conventional Comments

#47
On a previous engineering team, I once proposed a comment tagging convention that evolved over time to a stable place and ended up being quite useful for us. Unlike Conventional Comments, though, our main motivation was to communicate _expectations_ clearly, so the person receiving the review has enough information to decide what _action_ to take.

The Conventional Comments labels help a little, but requests for action are lumped under "suggestion" and "nitpick" and "chore", which I don't find to be useful distinctions. "Suggestion" doesn't tell me whether the reviewer is just offering an idea for improvement or pointing out something that must be addressed, and doesn't tell me whether I need to check back with the reviewer before merging my change. If I get a "question", then after I answer the question, is it okay to merge or not? "Issue" doesn't tell me if the issue is big enough to block the PR.

——

Here's our system:

• [help] means "I need help understanding this PR". I can't do a useful review of this PR without a better understanding. Please talk to me before proceeding.

• [fix] means "fix now". I've identified a problem; please fix it before merging. If you don't agree that this needs to be fixed, or you think we should do something different from my proposed action, please discuss it with me before merging -- we probably have a significant difference in understanding that is important to sort out.

• [fix?] means "fix now if bug". This looks like it might be a bug, but I'm not sure; please evaluate it, and if it's indeed a bug, treat it as a [fix].

• [minifix] means "fix now if small". I'm asking for this to be fixed before merging because I think it will take • [postfix] means "postponable fix". This is important enough that it must be fixed, but it doesn't need to delay urgent work. You can decide if you want to do it before or after merging this PR.

• [cbb] means "optional, objective" ("could be better"). This could be better in the way I'm suggesting, but it's not so important that it must be fixed before merging. I'm making a recommendation as a good practice for next time.

• [taste] means "optional, subjective". I'm suggesting an improvement, and I'm acknowledging that it's a personal preference. I am not demanding that you change your preferences long-term, but I'm offering it because I find this practice useful and think you might find it useful too. If you like it, use it.

• [fyi] means "for your information". No action needed. This might be mentoring advice, or a reference to something else that's relevant, or a thing to note for the future, etc.

——

I like this system because each tag makes it very clear exactly what action is required before merging and under what conditions there needs to be further discussion with the reviewer.

[help], [fix], and [fix?] are blocking: the PR cannot be merged as-is without discussion. For [fix] the communication loop must be closed with the reviewer; for [fix?] the communication loop can be open.

[minifix], [postfix], [cbb], and [taste] are non-blocking: each one identifies _why_ the suggestion was made so the receiver can decide whether or not to take action. In practice, we found that these 4 categories did pretty well at covering the most common reasons behind suggested actions.

Notice: [fix] and [minifix] aren't about whether the change is big or small. A [fix] could be big or small; the important information is that it's mandatory. The smallness indicated by [minifix] is relevant only because the smallness is the _reason_ for the suggestion.

Notice: There's no [chore] or [style] or [nitpick] category. [style] doesn't help, because we still don't know whether the style change is mandatory or merely recommended. It doesn't matter what kind of thing we're asking for; what matters is what needs to be done about it.

Re: Conventional Comments

#48
I appreciate the intention behind these things. However, I do not feel like this method is better than to just use the English language, if everyone is fluent in it.

For instance, `praise: nice test` sounds a little weirdly robotic in the way that if you were to walk up to someone and say "I am now going to give you a compliment. You are wearing a nice dress."

Re: Conventional Comments

#49
post #44
post #29

It seems I disagree w/ many points. > - Leave actionable comments > suggestion: This is not worded correctly. > Can we change this to match the wording of the marketing page? If I already know how it should be, I prefer to quote it right away and save work, instead of asking and leaving room for misinterpretation. Asking also seems dishonest if I'm not truly inviting a discussion. I would still add a rationale so oth…

It's very easy to seem rude in text comments, even if it was not meant that way at all. "Change 'this' to 'that'" is much harsher than "Could you change 'this' to 'that'?" It's a small change in wording, but it changes the interpretation from "This is wrong, do this instead, I know better than you" to "I think this is a better way to do it".

I feel like if this is an issue, there's a larger issue in the team. I've only ever witnessed language be an important issue if people felt overwhelmed, stressed and treated badly. On the other hand, when people feel treated fairly and are happy, most don't care for niceties and prefer straight to the point communication.

Especially rewording change requests as questions is something I don't like. Is this something that should be done? Is it just a question about the technical possibility? A request for comments about the intended change? (I've seen them all and the more friendly they are worded, the harder they are to tell apart)

Re: Conventional Comments

#50
post #44
post #29

It seems I disagree w/ many points. > - Leave actionable comments > suggestion: This is not worded correctly. > Can we change this to match the wording of the marketing page? If I already know how it should be, I prefer to quote it right away and save work, instead of asking and leaving room for misinterpretation. Asking also seems dishonest if I'm not truly inviting a discussion. I would still add a rationale so oth…

It's very easy to seem rude in text comments, even if it was not meant that way at all. "Change 'this' to 'that'" is much harsher than "Could you change 'this' to 'that'?" It's a small change in wording, but it changes the interpretation from "This is wrong, do this instead, I know better than you" to "I think this is a better way to do it".

Is it really?

I can find instructions disguised as questions condescending, for example.

I believe no amount of wording will help if people are not trusting each other. I would rather work on team building than comment guidelines.

Post reply on HN