C#编码风格:评论

时间:2009-11-16 22:12:19

标签: c#

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

10 个答案:

答案 0 :(得分:10)

我不会说我对这两种情况都有强烈的看法 - 但IMO最大的问题是/**/如果嵌套它会变得混乱,副作用就是你可以'安全地(完全)复制/粘贴块。

你可以很容易地使用错误的代码进行评论/启用,或者最终可能不会编译,因为你最终得到了/* /* */ */

如果您复制//一块,没有任何伤害 - 只需对这些行进行评论。

答案 1 :(得分:6)

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

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

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

答案 2 :(得分:6)

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

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

答案 3 :(得分:5)

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

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

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

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

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

答案 4 :(得分:3)

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

单行

//更容易。

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

答案 5 :(得分:1)

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

答案 6 :(得分:1)

我的观点是“//”比/ ** /

更容易输入

答案 7 :(得分:1)

我认为/* */最终将成为Dodo的方式,因为在Visual Studio中,您只需选择一个代码块并点击CTRL-E,C即可使用//样式对其进行注释。

答案 8 :(得分:1)

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

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

答案 9 :(得分:0)

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