Coding style 评论每一个正确的大括号是好的还是坏的风格?

Coding style 评论每一个正确的大括号是好的还是坏的风格?,coding-style,comments,Coding Style,Comments,我正在教授一门高级软件工程课程,并且正在审查每个学生的代码。我的一些学生在其他地方养成了在每个右括号的右边添加注释以识别语句类型的习惯,例如: if (x > 3) { y = 10; } //if 我已经告诉学生们要遵守规则,这与这种做法无关。我应该基于什么理由告诉他们不要这样做(除了个人不喜欢),还是应该允许这样做?注释是为了澄清代码和提高可读性。对于大多数通情达理的软件开发人员来说,这个语句是一个“如果”,这一点非常清楚。此外,许多IDE和编辑器会自动突出显示这样的括号,因此不

我正在教授一门高级软件工程课程,并且正在审查每个学生的代码。我的一些学生在其他地方养成了在每个右括号的右边添加注释以识别语句类型的习惯,例如:

if (x > 3) {
  y = 10;
} //if

我已经告诉学生们要遵守规则,这与这种做法无关。我应该基于什么理由告诉他们不要这样做(除了个人不喜欢),还是应该允许这样做?

注释是为了澄清代码和提高可读性。对于大多数通情达理的软件开发人员来说,这个语句是一个“如果”,这一点非常清楚。此外,许多IDE和编辑器会自动突出显示这样的括号,因此不需要添加注释。通常,您应该保存注释来描述方法、类和变量的作用(例如在Javadoc中),或者方法中的子例程的作用。这是基于确保您添加的所有内容都能改进代码的一般准则。

好吧,这很可能会以基于个人偏好的讨论结束,这不在stackoverflow的范围之内。但我还是会回答:

在我看来,这是一件坏事——有多种原因

  • 它把代码弄乱了。评论越多,可读性就越差。一行中的一个
    }
    立即告诉我最后一个块到此结束。有了评论,就有了更多的内容可以阅读,而且没有额外的信息(但人们还是会阅读,因为他们不知道评论中没有任何信息……而且人们倾向于自动阅读所有内容)

  • 这会导致凹痕不清晰。毕竟,这甚至可能是人们开始这样做的原因

  • 这是不必要的——如果我以一致的方式插入代码,就不必注意关闭了什么,只需转到具有相同缩进级别的最后一条语句所在的位置,就可以很容易地看到它。在大多数情况下(除非你是反向缩进(或者叫什么),我一点都不喜欢),这应该是非常容易的,因为在这两者之间没有任何东西

  • 它会导致更大的文件大小。在现代系统上可能无效,但仍然有效


    • 每次都是杀伤力过大。这取决于缩进的级别和函数的长度,但这些通常是您需要后退并重构的迹象。我唯一一次明确地这样做是针对C++中的名称空间,告诉他们应该假设审查代码的人知道语言语法和编程方法。注释应该是罕见的,指出并解释一些奇怪且不明显的代码部分(例如,某些库提供的api有缺陷,需要一些解决方法/黑客)。我们有文档(和单元测试)来解释如何使用以及代码应该如何运行。为了教育目的,你可以编写一个小类/模块,其中包含了“注释文档”,将其交给学生,并询问他们从这些评论中了解C++的代码。因为名称空间的开始离结束还很远。不幸的是,这个问题被搁置了,因为它是基于意见的。我认为没有涉及任何意见,明确的答案是,在结束括号处的评论被认为是不好的风格。总是。正如Robert C.Martin和其他人所建议的那样,函数(以及其中的块)应该保持简短,以便更清楚地知道哪个块是由每个闭合大括号闭合的。右大括号处的注释是结构不良的代码(特别是长块)的结果。实际上,这些评论很容易过时,提供误导性信息,使事情变得更糟。