在良好的Ruby代码中没有注释是否被认为是可接受的?

5

我审查了一些用Ruby编写的专业代码,但是没有发现注释。这些代码比较容易阅读,但不够自动记录。我应该期望专业编写的Ruby代码应该有注释吗?还是说在Ruby编程中注释并不被视为必要的呢?


2
相关内容:http://rubyrogues.com/what-makes-beautiful-code/ - Peter Brown
@关闭投票者:这个怎么是离题的? - Andrew Grimm
2个回答

5
马兹(Matz)是Ruby的创造者,他在这里和那里阐述了自己的哲学:“源代码就是文档,它甚至准确地说明了所有的错误。”他可能也是指注释。我认为很多不在Ruby源代码中进行注释的人都遵循了他的话。是否跟随他的话由您决定。
我还读过一些介绍Ruby的网站说,每当您感到有必要进行注释时,这就表明您应该将该例程拆分为单独的方法,并将其命名为您要注释的部分。

1
谢谢您的报价!我仍然不认同他的观点(在我看来,代码可以成为关于“什么/如何”的很好的文档,但不能涵盖“为什么/理由”),但是您已经回答了我的问题,即这是 Ruby 社区中被接受的做法。 - mikera
1
说得好!我完全同意您对@sawa发表的观点。 - Chris Hough
1
同意。当意图不明确时,请使用注释。良好的代码需要较少的注释。 - Mark Thomas

5
这个问题不仅限于Ruby。
代码注释应该尽量少,因为当代码发生变化时,它们通常不会被更新,反而会误导人。
正如您所建议的那样,最好的代码是自我说明的,不需要注释。
编辑:为了澄清,如果您不能简化代码以消除复杂性,则必须提供注释。在我的经验中,这很少见,通常只适用于外部组件的行为与您的预期不同的情况。

2
注释应该只用于产生与预期不同结果的代码(例如处理浮点精度错误时)。 - user142019
3
评论应该随着代码更改而更新,这并不需要太大的努力,当然也不足以成为不写评论的借口。而且,提问者肯定并没有暗示最好的代码是自我说明的。 - Mladen Jablanović
3
自描述代码只适用于简单任务。任何复杂的代码都需要一些注释。 - Karoly Horvath
我已经澄清了我的回答。yi_H - 复杂的代码通常是糟糕的代码。另一方面,复杂的系统对我来说没问题,这也是我谋生的方式 ;) - James L

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