C#编码风格:评论

大多数C#样式指南推荐使用/ * … * / commenting样式,而不是//或///。 为什么要避免前一种风格?

我不会说我对任何一个都有强烈的看法 – 但IMO最大的问题是如果你把它嵌套了/**/搞乱了,副作用是你不能安全地复制/粘贴块(相当)。

你可以很容易地用注释/启用的错误代码结束,或者最终不能编译,因为你最终得到了/* /* */ */

如果你复制一个//块,没有坏处 – 只是那些行仍然被评论。

想到的一个例子是,可能会意外中断/*样式注释。 例如

 /* This is the start of a comment that documents the behavior of the +-*/ operators in our program */ 

这个代码不会编译,而//变体会编译。 此外, ///表示外部工具以不同方式响应的特定文档样式。

有几个理由喜欢//到/ * .. * /。

  • 正如JaredPar所提到的,有一些奇怪的注释嵌套问题可以通过/ * * / usage来实现。
  • 如果您编写/编写了一些处理源代码文件的代码,那么如果//方法就是您必须处理的全部内容,那么您会非常高兴。
  • 使用“//”方法可视化检测大块注释代码要容易得多,特别是在语法着色不可用的情况下。 实际上,为了安全起见,您经常会在/ * * / block中看到前缀为*的各行。
  • 可用于生成代码文档的XML注释样式需要使用“///”。

/ * * /可以做的一件事//不能是评论一条线的内部部分。 我有时会用它来将参数注释到一个不明显的方法:

  point = ConvertFromLatLon(lat, lon, 0.0 /* height */ ) ; 

在这种情况下,作为第三个参数传递的常量0.0表示高度。 当然这可能会更好:

  double height = 0.0; point = ConvertFromLatLon(lat, lon, height) ; 

(我更有可能暂时使用/ * * / intra-line,只是尝试传递特定值。)

/* */适用于多行代码块。 例如,在代码文件的顶部,版权信息等。

//单行更容易。

始终对类中的所有公共成员使用/// ,因为您可以从中创建帮助文件生成XML文档。

我认为您可以根据需要发表评论,因为我们大多数人都是通过Visual Studio中的快捷方式进行评论。 我使用ctr+K, ctrl+C所有选定的行都是通过编辑而ctr+K ctrl+U取消注释所选行。

我的观点是“//”比/ ** /更容易输入

我认为/* */最终将成为Dodo的方式,因为在Visual Studio中你可以选择一个代码块然后点击CTRL-E,C来使用//样式注释掉它。

我总是使用//作为实际的COMMENTS,而我保存/ * * /代码我暂时不想运行以进行调试/开发。

通过仅使用//,您可以确定您可以注释掉大量的行/方法等,而无需嵌套注释并使编译器哭泣。

我的猜测是因为在EACH行上需要显式语法,并且如果不使用结束*/则会创建注释掉大部分代码的注释。 它不那么安全。