劣质代码的产生原因(4)管理者的误导

劣质代码产生的另外一个原因是管理者的误导,具体的误导行为有如下几种形式:

1. 莫名其妙的代码规范

    代码规范是为了能够让团队的程序员写出的代码像是一个人写的。本身是好事,但是如果代码规范制定的时候只是照搬照抄,那么代码规范很可能沦为损害代码质量的帮凶。

    A. 每行修改的代码都要加注释

          每行修改的代码都要增加注释是在没有版本管理工具的时候的做法。因为这样可以对比修改的代码。
          这种代码的修改方式导致了一个很重要的功能——重构——无法使用。因为每次重构的时候都会变更很多代码,并且没有增加注释。
          正确的做法是把修改履历增加到版本工具里。

    B. 修改时减少代码的修改量

          修改代码时尽量减少代码的修改量是为了减少影响性。
          如果在一行处理上要增加一个判定条件,那么原来的处理是不能动的。这样代码就没有了缩进,当若干个这种代码累积在一起之后,代码就基本上不具备可读性了。
          况且代码版本管理工具都具备代码比较功能,并且,可以抽出任何两个版本进行比较。

    C. 修改代码的时候旧代码不要删除

          修改代码的时候要把旧的代码留下,不要把旧的代码删除。这是为了能够弄明白代码修改的意图。
          遵照这条代码规范会把代码改的千疮百孔,有的地方成段的注释旧代码,毫无参考价值。有的地方一段有意义的语句被中间若干条注释拆成百叶窗。 

    D. 注释量和代码量要达到2:3

          代码中没有注释恐怕不是那么好懂,但是代码中到处都是注释恐怕也不会好懂。
          当要求注释量的情况下,注释就变成了为了注释而注释
          关于应该如何注释,我将会在《如何书写自表达代码——改变编程习惯——注释》中讲述。

    E. 每行代码不能超过80个字符

          以前由于编码工具收费,有些人用非IDE环境来查看代码,有些人需要打印代码,所以规定每行代码不能超过80个字符。以便求得阅读上的兼容性。
          但是,现在的显示器都是宽屏为主了。每行代码只有80个字符,右边会空一大片地方。而且,高级语言的命名往往都不短,再加上类-方法-条件的缩进,基本上80个字符连一条较长的判定语句都放不下。每行80个字符的限制导致了代码的无端换行。这个过时的规定除了能够降低代码的可读性,没有什么别的价值。

    F. 每个方法不能超过200行

         方法不能太长,太长的代码会导致阅读困难。

         为什么是200?据说是统计的。而大多数代码应该保持在20行以内,少数代码不超过200行。所以这条规范不如规定为方法不要超过20行;如果方法必须超过20行,那么方法不要超狗200行。如果单纯规定200行,那么大部分写成50行也不算违规。结果导致中等规模的方法数量太多。

    G. 域变量必须定义成private类型的。

         域变量定义成private是为了能够增加安全性。

         把域变量定义为private,然后增加上getter和setter,这和定义成public本身没有区别。域变量的公开类型应该根据具体应用而定义,并不能无端的全部定义成private。

     H. 不准使用do-while

         据说不准使用do-while是因为do-while难以阅读。

         于是在一些代码中会写成do-while外一组处理,do-while里再重复一遍。

转载于:https://www.cnblogs.com/stephen-wang/archive/2012/11/12/2742613.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值