美文网首页
java编码规范(更新中)

java编码规范(更新中)

作者: 蜗牛写java | 来源:发表于2019-04-07 22:19 被阅读0次

    编码规范

    命名规范


    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;因为相减可能会产生溢出

    相关文章

      网友评论

          本文标题:java编码规范(更新中)

          本文链接:https://www.haomeiwen.com/subject/hdweiqtx.html