java编码规范(更新中)

2019-04-07  本文已影响0人  蜗牛写java

编码规范

命名规范


  1. 任何包名、类名、方法名、属性等都要使用有意义的单词,有意义的命名;命名不在于长,而在于解释
  2. 包名统一使用小写
  3. 类名使用驼峰形式,首字母大写
  4. 接口中属性不要加任何修饰符
  5. 方法名、参数名、成员变量、局部变量使用驼峰形式,首字母小写
  6. 常量全部大写,单词之间使用下划线连接
  7. 抽象类使用Abstract或者Base开头
  8. Dao/Service
    1. 获取单个对象 getXXX()
    2. 获取多个对象 listXXX()
    3. 添加对象 addXXX() / saveXXX()
    4. 删除对象 removeXXX() / deleteXXX()
    5. 修改对象 updateXXX()

OOP规约


  1. 静态变量/方法,通过 类名.变量/方法;不要通过实例访问
  2. 所有的覆写方法,都要加上@Override注解
  3. 构造方法不要添加逻辑,如果逻辑可以在 init 初始化方法中添加
  4. 调用方法,一定要明确;如果是内部调用,要指明this;如果是父类调用指明super
  5. 明确方法功能,一个方法,只做一件事情
  6. 方法参数不能超过5个,超过5个,可以将参数封装成对象
  7. 所有判断分支,都要有默认处理方式;即else 或者default
  8. 方法返回不要返回null;可以返回空对象或者特定的对象
  9. 工具类 必须以Utils结尾,构造器必须私有
  10. 一个类的多个构造方法,顺序放在一起,便于阅读
  11. 类中方法定义的顺序,公有方法 > 保护方法 > 私有方法 > getter/setter方法
  12. 函数式接口声明,接口必须有@FunctionalInterface注解(函数式接口:只有一个抽象方法的接口)

常见坑


  1. String split方法等到数组时,需要最后一个分隔符后有无内容的检查,否则会抛出IndexOutOfBoundsException的风险

    String str = "a,b,c,,";
    String[] arg = str.split(",");
    //预期大于3,但是结果是3
    System.out.println(arg.length);
    
  2. String split 中几个特殊的需要专业的字符:或|,点.,加+,乘*

    String[] arg = str.split("\\|");
    
  3. 包装类型之间的值比较;全用equals比较;

    如 Integer i ;在-128到127范围内赋值,Integer对象实在IntegerCache.cache中,会复用对象,这个区间 == 比较是相等的,但是不在该范围内比较 是不等的,所有包装类型比较都用equals

  4. 实现Compartor,实现compare方法中比较大小如x,y使用 大于 x>y 或者小于 x<y;不要使用x-y;因为相减可能会产生溢出

上一篇 下一篇

猜你喜欢

热点阅读