代码之家  ›  专栏  ›  技术社区  ›  nw.

C编码样式:注释

c#
  •  8
  • nw.  · 技术社区  · 15 年前

    大多数C样式指南建议不要使用/*…*/评论风格,支持//或//。为什么要避免以前的风格?

    10 回复  |  直到 15 年前
        1
  •  10
  •   Marc Gravell    15 年前

    我也不会说我有强烈的反对意见,但我认为最大的问题是 /* */ 如果你把它嵌套了,就会变得混乱,副作用是你不能安全地(相当)复制/粘贴块。

    您可以很容易地以错误的代码注释/启用而结束,或者以它不编译而结束,因为您已经使用了 /* /* */ */ .

    如果你复制一块 // 周围,没有伤害-只是那些线仍然是评论。

        2
  •  6
  •   JaredPar    15 年前

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

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

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

        3
  •  6
  •   John Fisher    15 年前

    选择//而不是/*有几个原因。*.

    • 正如Jaredpar提到的,有一些奇怪的注释嵌套问题可能会突然出现在/**/用法中。
    • 如果你曾经写过一些处理源代码文件的代码,如果你只需要//方法,你会非常高兴。
    • 用“/”方法直观地检测一大块注释代码要容易得多,尤其是在语法着色不可用的情况下。事实上,为了安全起见,您经常会看到/**/块中带有*前缀的单独行。
    • 可用于生成代码文档的XML注释样式需要使用“//”。
        4
  •  5
  •   crpatton    15 年前

    /**/可以做的一件事是//不能对行的内部部分进行注释。我有时会用它来注释一个方法的参数,其中有些东西并不明显:

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

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

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

    (我更倾向于临时使用/**/行内,以尝试传递特定的值。)

        5
  •  3
  •   Wim    15 年前

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

    // 对于单线来说更容易。

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

        6
  •  1
  •   Eugeniu Torica    15 年前

    我认为您可以随意发表评论,因为我们大多数人都是通过Visual Studio中的快捷方式发表评论的。 我用 ctr+K, ctrl+C 所有选定的行将被合并并 ctr+K ctrl+U 取消对所选行的注释。

        7
  •  1
  •   Kristina    15 年前

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

        8
  •  1
  •   Philip Wallace    15 年前

    我想 /* */ 最终会走到Dodo的道路上,因为在Visual Studio中,您只需选择一块代码,然后点击ctrl-e,c,使用 // 风格。

        9
  •  1
  •   Erik Kerber    15 年前

    我总是使用//作为实际的注释,而将/**/保存为代码时,我暂时不想为了调试/开发的目的而运行。

    通过只使用//,那么您就可以确保您可以注释掉大量的行/方法等,而不必嵌套注释,也不会让编译器哭泣。

        10
  •  0
  •   Andrew Flanagan    15 年前

    我猜是因为每行都需要显式语法,并且如果结束语 */ 不使用。只是不太安全。