zoukankan      html  css  js  c++  java
  • 代码整洁之道小结

    以下总结一些不好的代码规范, 借此警示自己不要犯这种错误

    注释

    1.不恰当的注释

    注释应该仅用来描述有关代码和设计的技术性信息。像修改历史等信息不应出现在注释中

    2.废弃的注释

    过时、无关或错误的注释就是废弃的注释,不要写这种注释,如果发现了请尽快更新或删除,否则它会越来越远离它开始描述的代码

    3.多余的注释

    如果代码自身就能说明,就不要去写注释,例如:

    i++; // i自增

    注释应该说明代码自身没有提到的事情。

    4.注释掉的代码

    一般注释掉的代码,很可能已经与现有系统无关了,它调用的变量或函数可能已经改名,变得毫无用处

    函数和类

    1.过多的参数

    一个函数的参数个数最好为零,如果有三个以上,可能就要考虑封装了

    2.标识参数

    如果函数的参数存在布尔值,只会让人迷惑,完全可以将其拆分为两个函数,枚举也是同样的道理

    3.死函数

    没有被用到的函数,应该尽早删除

    4.死代码

    死代码就是不会被执行到的代码,它可能出现在不会触发的if语句中,或者不会抛出异常的try catch中。如果找到这样的代码,请今早删除。

    5.垂直距离

    变量应该在首次使用的上面声明。函数应该放到首次被调用的下面一点点

    6.前后不一致

    如果在某个地方把响应对象命名为response, 则在其他地方也应该如此命名。如果把某个方法命名为getCommonModule, 则处理相似事情的方法应该取相似的名字,如:getUserModule。这会让代码扔易于阅读和修改。

    7.错误位置的安放

    对于一个函数或常亮的位置,应该放在读者自然而然期待它出现的地方

    8.不恰当的静态方法

    如果一个方法被命名为静态方法,说明它所需要的变量全部来源与参数,而不是对象的属性,同时也不会用到多态的特性。

    当然有些方法命名为静态是有必要的,如:Math.max(a,b), 如果还需要 new Math().max(a,b), 也太蠢了

    9.不恰当的函数名

    如果看到一个函数名之后,仍然对其意图存在疑惑,甚至还要去查看源码,那么请换个名字吧。

    10.错误的抽象层级

    编写方法时,很容易想到,函数应该是一层一层往下调用的,不应该出现地层函数调用高层函数的现象,就像是基类不应该依赖于派生类一样。

    11.封装条件

    在if, while等条件语句中,下面这种写法:

    if(shouldBeDeleted(timer)){}

    明显要好于:

    if(timer->hasExpired() && !timer->isRecurrent()){}

    12.隐藏调用顺序

    在一个类中,有这样一段代码: 

    public function eat(Person $p){
       buyGreens();
       makeDinner();
       eatDinner($p);
    }

    这段代码很好理解,先买菜,然后做饭,最后吃饭。很显然,买菜的时候会对类的菜品属性进行赋值,在做饭的时候使用。但如果他们的调用顺序写错了,就会使用到未初始化的变量。如果改成下面这样:

    public function eat(Person $p){
       $greens = buyGreens();
       $dinner = makeDinner($greens);
       eatDinner($dinner, $p);
    }

    这样通过函数,暴露了调用顺序,每个函数都产出下一个函数所需要的结果,这样一来就没理由不按照顺序调用了吧。

     

  • 相关阅读:
    将SqlServer的数据导出到Excel/csv中的各种方法 .
    SqlServer: 单用户模式下查杀相关进程实现单/多用户转换 .
    SQL Server游标的使用【转】
    由几行代码浅析C#的方法参数传递
    脑力风暴之小毛驴历险记(1)好多胡萝卜(下)
    关于sql_mode=only_full_group_by问题的解决方法
    如何同一个controller下添加新页面
    UNIAPP全局变量的实现方法
    Ztree点击节点选中复选框的相关操作
    一沙框架(yishaadmin) 前端引入VUE的实现方法
  • 原文地址:https://www.cnblogs.com/hujingnb/p/11708780.html
Copyright © 2011-2022 走看看