格式化块注释

问题描述 投票:0回答:7

第一种格式样式似乎比第二种更受欢迎。这是为什么?


第一个(每行都有星号)

/*
 * line 1
 * line 2
 * line 3
 */

第二个(最少星号数量)

/*
line 1
line 2
line 3
*/
coding-style
7个回答
10
投票

可能是因为它更具可读性,如果评论有很多行,即使看不到结尾,您也知道自己正在阅读评论。


4
投票

主要原因是 PHP 文档管理人员。

诸如 PHPDoc 之类的文档是为了解析这种形式的注释块而构建的,可解析注释块的示例如下:

/**
 * Page-Level DocBlock
 * @package MyPackage
 * @category mycategory
 */

正如您所看到的,每行都有星号,并且有些行包含

@
符号,这就是您所说的标签指示符,它告诉解析器应处理该行并将其归档到文档的类别值下.

另请参阅 Zend 编码标准 - 内联文档,这也指出您应该使用这种类型的注释来实现此类解析器和可读性。


2
投票

更容易看到评论的开始和结束位置。

只需向下扫描左列,直到星号“用完”即可找到下一位代码。

第一种方法失败的地方是重写注释的时候。现在需要重新格式化行以使星号对齐。这是一个禁忌,除非您有一个工具可以自动为您执行此操作。

在 McConnell 的“Code Complete”(第二版),第 790 页中,他说:

对于较长的注释,创建长双斜杠列、手动断开行之间的文本行以及类似的活动的任务并不是很有价值,因此 /* ... */ 语法更适合多行注释。

重点是你应该注意如何度过你的时间。如果您花费大量时间输入和删除[文本]以使[星号]对齐,那么您就不是在编程;而是在编程。你在浪费时间。寻找更高效的风格。


2
投票

就我个人而言,我对每条注释都使用

//
,并保留
/* */
以用于临时用途,例如在重构时注释掉许多函数。 使用
/* */
进行块注释会阻止我快速注释大量代码。

所以我的块评论看起来像这样:

//*****************************
//  Some 
//  Comments
//  Here
//*****************************

0
投票

它(可以说)更具可读性或更好看。人们使用 ASCII 艺术已经有一段时间了,例如

/*********************
 * here is the doc   *
 *********************/

或者什么的。


0
投票

我喜欢它,因为它在视觉上区分了块注释的代码和文档。

如果我想注释掉一堆代码,这样:

/*
int i;
someCode(i);
print i;
*/

更好,因为我可以移动开始/结束部分来启用其中的一部分,或者只删除两行来启用全部。 使用其他格式我无法做到这一点。 因此,文档最好采用其他样式,因为您永远不会尝试“取消注释”文档。

现在,有了丰富的编辑器,我更喜欢使用行注释来注释代码,但这是另一个论点。

注释掉的代码的在线注释

我更喜欢注释掉的代码:

//   int i;
//   someCode(i);
//   print i;

造成这种情况的原因有很多。 首先,它可以轻松地取消注释(启用)一行。 其次,它提供了更好的视觉指示,表明它已被注释掉,然后您将获得块注释(这依赖于语法突出显示,正如其他人提到的)。

但第三,也是最重要的,它允许您在注释内容中安全地包含块注释。

当我注释掉以下内容时,请观察 SO 语法突出显示的差异:

/**
 * Does something to i and then prints i
 */
public void messWithI() {
    int i;
    someCode(i);
    print i;
}

带有块评论:

/*/**
 * Does something to i and then prints i
 */
public void messWithI() {
    int i;
    someCode(i);
    print i;
}*/

带有行注释:

//   /**
//    * Does something to i and then prints i
//    */
//   public void messWithI() {
//       int i;
//       someCode(i);
//       print i;
//   } 

您需要一个功能丰富的编辑器的原因是,如果您以这种方式手动应用/删除注释,则需要大量的击键。 IDE 具有可以为您执行此操作的实用程序(Eclipse 是 CTRL-/),高级文本编辑器具有宏或至少具有垂直选择。


0
投票

我写了一个工具来生成我的评论。 它允许我输入任意数量的行。如果编辑器允许,它将使用实际的线条图 ascii,并让我选择居中、双线轮廓、前导注释字符串应该是什么等。我还可以选择以我的注释起始字符开始一行,输入我喜欢多少行,从文本的末尾到第一行的某个位置突出显示,按下一个键,然后这一切都会变成一个漂亮的阻止评论。 您可以输入评论,按一下键,该行就会自动为您加上方框。 当然,您需要使用等宽的完整字体,例如 Consolas。

'========>     ╔═══════════════════════════════════╗
'========>     ║                                   ║
'========>     ║         This is a sample          ║
'========>     ║          multiline text           ║
'========>     ║ with added buffer above adn below ║
'========>     ║                                   ║
'========>     ╚═══════════════════════════════════╝


;┌──────────────────────────────────┐
;│ Custom array join with delimiter │
;└──────────────────────────────────┘
© www.soinside.com 2019 - 2024. All rights reserved.