0

首先,在这个问题上,我想远离关于源代码注释是好是坏的争论。我只是想更清楚地理解人们在谈论告诉你为什么、什么或如何的评论时的意思。

我们经常看到诸如“评论应该告诉你为什么;代码本身应该告诉你如何”之类的指导方针。在抽象层面上很容易同意该陈述。然而,人们通常会像教条一样放弃这一点,并离开房间而不做进一步的解释。我已经看到它在很多不同的地方和环境中使用,看起来人们可以就流行语达成一致,但他们似乎完全在谈论不同的事情。

所以,回到这个问题:如果评论应该告诉你为什么,我们在说什么是为什么?这就是为什么那段代码首先存在的原因吗?这是那段代码应该做的吗?如果有人能给出清晰的解释,然后添加一些好的示例,我将不胜感激(实际上并不需要坏的示例,但可以随意添加它们以进行对比)。

请不要立即关闭这个问题,因为它是重复的或有争议的。我努力使它非常客观。关于评论是好是坏有很多问题,但没有人能解决哪些是告诉你为什么的评论的好例子的具体问题。

谢谢,

4

1 回答 1

1

评论有两个主要目的:

  • 总结。很多人会说“当我们可以阅读代码时,为什么要记录这个方法?”,但是描述方法的用途/作用的一行文本通常比 30 行更容易阅读和理解代码,尤其是如果该代码调用了您可能还需要阅读的其他方法...

  • 解释从代码中不明显的事情——为什么,或者更多关于如何做的细节。简单的例子包括“我们必须添加新的 XmlElement 然后删除旧的,因为 .net 中的 ReplaceChild 方法不起作用!”,或“使用迭代 Newton-Raphson 方法求解 X”,或“我们不能在此处关闭端口,因为读取线程可能仍在运行”,或“在性能至关重要的情况下使用此方法,但请注意此方法可能会提供高达 5% 的错误结果”

于 2014-11-23T17:25:28.887 回答