课程咨询 :18487146383

  • 那些时候避免写代码注释?

    发布:达内科技      来源:达内长沙      时间:2015-10-28

  • 之前我们讲过对于初学者而言需要学会写代码注释,现在为什么我们又要说要避免写代码注释呢?现在达内长沙Java培训就为大家讲解一下,在哪些情况下我们要避免写代码,来好好学习吧!

    写注释在大多数情况下是有用的,而且对于阅读程序来说是很好的一个习惯,但是请注意,长沙Java培训机构说的是“在大多数情况下”,因为有一些情况下,你不应该写注释。

    长沙Java培训

    写注释有时会坏事!会导致坏代码!

    请允许我用一句名言来开始我的论证:

    不要注释坏代码——重写吧。——Brian W. Kernighan and P. J. Plaugher

    仔细想一想,有多少次你注释你的代码,只是因为担心自己将来再回过头来阅读的时候可能会不理解它的意思?至少都做过一次吧。

    坦率地说,我有很多次是因为这个原因才注释的,尤其是在那些我还是重构和编写干净代码的新手的日子里。

    那么,为什么这样的注释反而不好呢?简而言之是因为,我们会因为有注释而放任编写坏的代码!正如你所看到的,注释有时候反而激励了我们去写一些不整洁的代码。

    另一个原因是因为注释会误导我们。有多少次你已经改变了代码,却忘了改旁边的注释?别否认,这种事时常发生。这就是为什么你经常听到这样一句话,“真理只存在于代码中”。

    那么,什么时候你不应该写注释呢?

    有一个经验法则就是,无论何时你发现自己要使用注释来解释这段代码是用来干什么的时候,那么基本上就是你的代码需要重构以变得更整洁的时候。

    典型的解决方案

    现在你知道为什么有时候反而要避免写注释了,那么有什么解决办法吗。事实上,目前还没有一个有效的解决方案,但是你可以清洁你的代码,这样你(以及其他人)就可以在没有注释的情况下也能理解它了。

    为了用可读的代码替换掉注释,通常我们的典型解决方法是使用提取方法重构(Extract Method refactoring)。这种重构方式是我最喜欢的。对此我也写过一篇博客,里面有完整的例子:《Break Your Method Into Smaller Ones》。

    下面让我们看一个简单说明如何提高你的代码,从而解放注释的例子。

    // Check to see if the customer can get free product

    if ($customer->isPremium () and $customer->numberOfPurchases > 8) {

    }

    // OR

    if ($customer->canGetFreeProduct ()) {

    }

    Java培训希望你能注意到这两个条件语句之间的差异。

    哪一个更整洁?

    很明显第二个更整洁,更好。

    这是因为,首先,可以删除注释,因为我们看代码就明白了意思。

    其次,也是最重要的一点是,我们提取了检查客户是否值得获得免费产品的逻辑到它的方法中,这是一件好事,特别是当你想要在应用程序中再次使用它的话。

    因此代码的注释是要更具需要的情况进行注释,对于一些比较熟悉的代码,过多的注释会影响代码,达内长沙Java培训长期分享关于java变成相关的知识,如果又想要好好学习的小伙伴们,记得关注我们哦!

上一篇:Java课程中的一些重点内容

下一篇:“昆明达内第十届新老学员交流会——IT梦想起航,达内成就你我”

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:7月31日

Java--零基础业余班

Java--零基础业余班

开班日期:7月31日

Java--大数据全日制班

Java--大数据全日制班

开班日期:7月31日

Java--大数据业余制班

Java--大数据业余制班

开班日期:7月31日

  • 网址:http://cs.java.tedu.cn     地址:长沙市开福区芙蓉中路一段 476 号建鸿达现代城 9 楼
  • 课程培训电话:18487146383     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56