zoukankan      html  css  js  c++  java
  • 代码整洁之道自我总结

    1、有意义的命名

    2、函数要短小

    3、函数只做一件事

    4、每个函数一个层级

    5、if-else,switch经常可使用状态模式等重构

    6、输入参数有尽量少

    • builder模式
    • test(s) -> s.test()

    7、无副作用 -> 即只做一件事

      如:checkPassword(),则方法里只做检查,不可以改变其他状态

    8、分隔指令与查询

      如:不可以 boolean set(String name)。改成 boolean checkAndSet(String name) 可以勉强接受

    9、能通过命名等方式说明函数的用途的,可不写注释

    10、数据结构应该隐藏它的成员变量,通过接口访问

    11、对象应该隐藏数据,暴露操作

      f.getA().do()不合适,若f是数据结构则可以

    12、过程式代码:

        if(shape intanceof A){ doA();}

        else if(shape intanceof B){d0B();}

      面向对象式代码:

        A implement Shape

        B implement Shape

        shape.do();

      过程式代码难以添加新的数据结构,因为所有用到此处逻辑的地方都要改,方便添加新的函数

      面向对象代码难以添加新的函数,因为每个对象都要添加新函数,方便添加数据结构

    13、代码必须写junit(没怎么实践过~~~)

    14、模板模式

    15、输入参数不该有boolean,它说明函数不止做一件事情

    16、常量 VS 枚举(感触比较深的只有这俩点)

    • 通过常量来接受值时,可能传入不在常量类范围的值
    • 常量类是String类型时,不能用==对比,只能用equals对比,不能优化性能。
  • 相关阅读:
    node express 返回json object
    CodeIgniter 安装指导
    nodejs 使用express开发获取其他网站引用本站点js文件的参数
    nodejs express 学习
    microsoft webMatrix 使用 IISnode 进行node express 开发
    模板引擎jade学习
    模板引擎之jade 学习
    smarty学习——高级知识
    smarty学习——缓存
    smarty学习——编程知识
  • 原文地址:https://www.cnblogs.com/jaxlove-it/p/9380903.html
Copyright © 2011-2022 走看看