有哪些不同的代码评论实践?

时间:2012-01-18 09:23:00

标签: comments

阅读代码评论,似乎普遍支持那些没有解释代码本身可以解释的内容的注释。所有来源(不是那么多,但仍然有一些)我已经查过来说评论应该是在更高的抽象层次上解释代码。

然而,我在社交和工作领域的专家支持更多的评论更好,即使评论解释了读者/编码器可以从代码中解读的内容,也有不同的级别,并且有些人可能比其他人更快地破译代码,所以为了安全起见,评论其意义并不明显的代码会更好;毕竟,

  

“作为一名程序员,当你不必阅读实际的代码,并且能够理解一个函数用英语做什么,而不是尝试和破译代码时,它会帮助你。有时,它甚至可能有助于编写在编写之前在注释和伪代码中运行;它将有助于不断提醒这个功能假设要做什么。“

就评论而言,这两者是完全不同的思想流派。这引出了一个问题:

关于代码评论有哪些不同的思想流派,哪些是最受欢迎的(以避免询问最佳,因为这是主观的)来源我可以阅读关于代码评论实践?

1 个答案:

答案 0 :(得分:3)

这是一个相当尖锐的文章,名为The Fine Art of Commenting over ic#code。它并不完美(匈牙利表示法很糟糕,不应该对开发人员造成影响),但它仍然相当有趣。

作者正确地指出您可能想要使用注释的不同内容,并将它们分为3个类:

  • 文件评论,例如版权信息,作者身份以及版本和更改信息。
  • 功能评论,这是您的各种“TODO”和“BUG”评论,表明可能需要进一步关注的代码区域。
  • 解释性意见,解释代码的作用。

第三类显然是这里讨论的有趣的一类。在我看来,评论应该描述代码为什么会这样做,而不是如何。例如,如果您的代码对列表进行排序,您应该解释为什么必须首先对列表进行排序 - 从代码中对列表进行排序是明显的(或者应该是明显的)。

最后,评论最重要的一点是它们没有编译,对程序的行为没有影响。这看起来很明显。其结果是在软件的维护阶段,代码中的错误可能是固定的,但注释通常保持不变,并且可能记录不再被观察到的行为。由于错误的文档比不存在的文档更有用,因此修复注释和实际代码中的错误非常重要。