zoukankan      html  css  js  c++  java
  • Java编程代码规范中值得留意的地方

    最近在加强Java代码规范,复习的过程中发现除了空格、驼峰、括号等常见的规范之外,还有一些平时不太注意但值得落实的规范,记录一下:

    1. 30秒规则,方法实现在30秒内需要被别人读懂

    2. 单个源文件最大长度2000行

    3. 单行字符不超过120个
      package、import、javadoc的url等不受限制

    4. import不要使用通配符,避免引入新的类冲突

    5. 0b、0x都用小写,long用大写(1L)

    6. 领域模型命名规范
      数据对象:xxDO
      数据传输对象:xxDTO
      展示对象:xxVO
      名字不要命名为xxPOJO

    7. 不要在finally块中使用return,不然会造成try块中的return不再执行

    8. 异常不要用来做流程控制、条件控制
      违背设计初衷
      异常的处理效率远低于条件判断

    9. 不要在方法内调用Pattern.compile()
      避免反复编译,尽量只调用一次

    10. 不用使用魔法值,用常量定义来代替
      -1,0,1不被视为魔法值

    11. 返回数组/集合时候返回空数组/空集合而非null

    12. Integer等数值封装类用equals代替==
      在-128~127范围,Integer对象在IntegerCache.cache产生,会复用已有对象,可以用==判断
      在这个范围外的数据会在堆上产生,不会复用已有对象

    13. 不同的Map类集合KV注意能不能设置为null

      HashTable:key不能为null,value不能为null

      HashMap:key可以为null,value可以为null

      ConcurrentHashMap:key不能为null,value不能为null

      看一下各自的put()方法实现就知道了

    14. Arrays.asList()或者List.of()转化后不可修改
      适配器模式,本质上仍然是数组

  • 相关阅读:
    Aras学习笔记 (8) Aras一个Web站点下创建多个Instances
    WebAPI学习笔记(3)Asp.net调用WebAPI Post方法传递参数
    简单工厂模式
    工厂模式
    文件信息
    C#压缩解压zip 文件
    Creo 2.0 Toolkit 解锁的问题
    Dojo Grid结合Ajax用法
    Aras Innovator时间验证
    Aras Innovator获取项目任务序列号
  • 原文地址:https://www.cnblogs.com/jacobchen/p/14371470.html
Copyright © 2011-2022 走看看