我不会称自己为超级巨星开发者,而是相对经验丰富的开发者。我试图将代码质量保持在较高水平,并且一直在寻求对我的编码样式的改进,试图使代码高效,可读性和一致性,并鼓励团队遵循一种模式和方法来确保一致性。我也了解在质量和速度之间取得平衡的必要性。
为了实现这一目标,我向我的团队介绍了同行评审的概念。在github pull-request中两个竖起大拇指以进行合并。很好-但是我认为没有打cc。
我经常看到来自相同同事的同行评论,例如-
- 在之后添加一个空格会很好
<INSERT SOMETHING HERE>
- 方法之间多余的多余线条
- 在文档块中的注释末尾应使用句号。
现在,从我的角度来看-审阅者只是从表面上看待代码美观性-并没有真正执行代码审阅。化妆品规范审查以傲慢/精明的心态传给我。它缺乏实质性内容,但是您不能对此进行过多辩论,因为审阅者在技术上是正确的。我宁愿看到较少的上述评论,而更多评论如下:
- 您可以通过以下方式降低圈复杂度:
- 提早离开,避免如果/其他
- 将数据库查询抽象到存储库
- 这种逻辑并不真正属于这里
- 不要重复自己-抽象和重复使用
- 如果
X
将其作为方法的参数传递将会怎样Y
? - 单元测试在哪里?
我发现提供修饰类型评论的总是同一类型的人,而我认为给出“基于质量和逻辑”的同行评论总是相同类型的人。
什么是同行评审的正确方法(如果有)。我是否对同一个人感到沮丧,因为他们基本上都是在浏览代码以寻找拼写错误和美学缺陷而不是实际的代码缺陷?
如果我是正确的-我将如何鼓励同事在建议进行外观修饰的同时找到代码中的错误呢?
如果我不正确-请赐教。对于真正构成良好的代码审查,是否有任何经验法则?我是否错过了什么代码审查的要点?
在我看来,代码审查与代码的共同责任有关。如果不解决/检查逻辑,可读性和功能性,我会不愿意给代码竖起大拇指。如果我发现有人在文档块中省略了句号,那么我也不会为可靠的代码块而阻塞合并。
当我检查代码时,每500 Loc可能花费15-45分钟。我无法想象这些简短的评论要花超过10分钟的时间,如果那是他们正在执行的评论的深度。此外,浅薄评论者的赞许是多少?当然,这意味着所有人的拇指都不一样,并且可能需要进行两遍审核。一个拇指要进行深度评价,第二个拇指要进行“抛光”?