进阶篇——什么时候应该避免写代码注释?
看到标题,我知道你可能会想:“我为什么要避免代码注释,这难道不是一件好事吗?”。是的,写注释在大多数情况下是有用的。但是,请注意,我说的是“在大多数情况下”,因为有一些情况下,你不应该写注释。
还不相信?那让我告诉你:写注释有时会坏事!会导致坏代码!
请允许我用一句名言来开始我的论证:
不要注释坏代码——重写吧。—— P. J. Plaugher
这句话给我流下了非常深刻的印象。仔细想一想,有多少次你注释你的代码,只是因为担心自己将来再回过头来阅读的时候可能会不理解它的意思?至少都做过一次吧。坦率地说,我有很多次是因为这个原因才注释的,尤其是在那些我还是重构和编写干净代码的新手的日子里。
那么,为什么这样的注释反而不好呢?简而言之是因为,我们会因为有注释而放任编写坏的代码!正如你所看到的,注释有时候反而激励了我们去写一些不整洁的代码。
另一个原因是因为注释会误导我们。有多少次你已经改变了代码,却忘了改旁边的注释?别否认,这种事时常发生。这就是为什么你经常听到这样一句话,“真理只存在于代码中”。
那么,什么时候你不应该写注释呢?
有一个经验法则就是,无论何时你发现自己要使用注释来解释这段代码是用来干什么的时候,那么基本上就是你的代码需要重构以变得更整洁的时候。
典型的解决方案
现在你知道为什么有时候反而要避免写注释了,那么有什么解决办法吗。事实上,目前还没有一个有效的解决方案,但是你可以清洁你的代码,这样你(以及其他人)就可以在没有注释的情况下也能理解它了。
结论
请允许我用一个免责说明来结束这篇小文章。我不反对注释。注释在大多数情况下是非常有用的!(特别是初学者,帮自己理清思路很重要。所以这篇帖子之前我加了进阶篇三个字),尤其是在开源项目中。
我想说的是,你不应该为你的坏代码注释。请记住,“真理只存在于代码中”。
看不懂,默默赞