为什么Ada语言中没有多行或块注释?

15
为什么Ada编程中没有类似于C/C++的/* */多行或块注释?

我认为C++程序员现在并不经常使用这种类型的注释。Java程序员通常只在具有特定格式的注释中使用它,以便被文档生成器识别。 - ajb
2个回答

18
Ada 83 Rationale Section 2.1中提到,不提供嵌入式注释(在一行文本内),因为它们的效用不足以证明额外的复杂性。不提供大于一行的单个注释,这样的注释需要一个结束注释分隔符,这会增加与(无意中)省略关闭分隔符相关的危险:程序的整个部分可能被编译器忽略,而程序员没有意识到,因此程序将不是他所想的那样。长注释可以写成一系列单行注释,从而将优雅和安全性结合起来。

当然,现代IDE会对注释进行着色,但您可能没有注意到,编译器肯定不会注意到。


3
现代 IDE(集成开发环境)也会为您在多行代码块上放置行注释指示符(如Ada中的“--”和许多其他语言中的“//”),从而减少对类似于“/.../”的语法的需求。 - ajb
1
多个注释块更多地用于调试和隐藏代码部分,而不是实际编码时的注释。用户可能没有意识到或没有带有注释工具的IDE,因此多个注释块在这种情况下非常有用。 - Jossi

-1
你可以使用以下代码:

如果(False) 那么

... ... 代码在这里 ...

结束 如果;


1
几乎可以确定它会触发编译器警告,因为在大多数关键软件开发过程中,警告被视为错误。 - LoneWanderer
这只允许您注释掉有效的代码块,并且在提到此的注释中会给出编译器警告。 - CoffeeTableEspresso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接