首页/开发/代码质量与评审速查/Conventional Comments:给评论打标签
代码评审64 条

Conventional Comments:给评论打标签

Conventional Comments 约定用标签起始评论:praise、nitpick、suggestion、issue、todo、question、thought,让作者识别类型与紧急度。

Conventional Comments 是什么

Conventional Comments 是一套给评审评论加标签的约定:用 praise、nitpick、suggestion、issue、todo、question、thought 等词开头,让作者一眼看出这条意见的类型与紧急程度。它解决的是同一句话在不同人眼里严重性不同的问题——标签把「这是我的偏好」与「这里确实有缺陷」区分开。

基本信息

形式标签开头,可加修饰词,正文写问题与建议
常用标签praise、nitpick、suggestion、issue、todo、question、thought
修饰词non-blocking 标出不阻塞合并,blocking 标出必须处理
适用场景团队评审、开源项目协作、跨团队异步评审

常用标签与含义

标签含义典型处理
praise肯定做法无需行动
nitpick小问题(不阻塞)可改可不改
suggestion建议性改进作者判断
issue明确问题应处理
todo小任务计划内处理
question疑问或澄清需要回答
thought引出讨论的想法视讨论结果

格式示例

格式示例
suggestion (non-blocking): 这里可以复用已有的重试装饰器,减少重复逻辑。
issue: 并发场景下这个读取没有加锁,可能读到半更新状态。
question: 这里保留旧参数是为了兼容哪个调用方?
todo (if-minor): 顺手补一下这个分支的日志,方便线上排查。

使用规矩

  • 标签与内容必须一致:标 nitpick 却提阻塞性问题,会误导作者排序。
  • 修饰词写清楚:non-blocking 表示可以带着合入,blocking 表示必须先改。
  • 同一类意见集中给出:一口气提十个 issue,作者反而不知道该先做哪个。
  • 肯定也要说:praise 让作者知道哪些做法值得保留,比只提问题更有用。
  • 修饰词随情况变化:同一类建议在关键路径上是 blocking,在边角代码上可以是 non-blocking。
  • 标签用在整条评论的开头:夹在句子中间会让人看不出这是标签还是正文。
  • 标签不替代理由:说清问题与建议,标签只负责标注类型与紧急度。
标签可配修饰词:blocking 与 non-blocking 标出阻塞性,减少来回确认。
标签是约定不是平台功能:团队需要在使用前说清每个词在本团队的含义。

易错点

  • 全用 issue 标签:小问题也标成问题,作者无法排序优先级。
  • 标签与内容不符:作者按标签判断轻重,结果漏掉真正必须改的项。
  • 只提问题不给肯定:作者只看到负面反馈,改动意愿下降。
  • 标签体系自造且不统一:不同人用词不同,作者仍要逐条判断严重性。

数据来源与参考

  • Conventional Comments 规范(conventionalcomments.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌