美文网首页
阿里Java编程规约【九_完结篇】 其他

阿里Java编程规约【九_完结篇】 其他

作者: acc8226 | 来源:发表于2018-01-26 09:43 被阅读75次
    1. 【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。
      说明:不要在方法体内定义: Pattern pattern = Pattern.compile( 规则 );

    2. 【强制】Velocity(一个基于Java的模板引擎)调用 POJO 类的属性时,建议直接使用属性名取值即可,模板引擎会自动按规范调用 POJO 的getXxx(),如果是 boolean 基本数据类型变量 (boolean 命名不需要加 is前缀 ),会自动调用 isXxx()方法。
      说明:注意如果是Boolean包装类对象,优先调用 getXxx() 的方法。

    属性前不要加is,这类变量最好用形容词表达。

    1. 【强制】后台输送给页面的变量必须加 $!{var} ——中间的感叹号。
      说明:如果 var = null或者不存在,那么${var}会直接显示在页面上。

    这里说的是velocity,${var}varnull的时候,直接把代码${var}打印在界面上,太不专业,也有安全问题,必须使用${var}代替。

    1. 【强制】注意 Math.random() 这个方法返回是 double 类型,注意取值的范围 0≤ x <1 ( 能够取到零值,注意除零异常 ) ,如果想获取整数类型的随机数,不要将 x 放大 10 的若干倍然后取整,直接使用 Random 对象的 nextInt 或者nextLong方法。

    2. 【强制】获取当前毫秒数 System.currentTimeMillis();而不是new Date().getTime();
      说明:如果想获取更加精确的纳秒级时间值,使用 System.nanoTime()的方式 。在 JDK 8 中,针对统计时间等场景,推荐使用Instant类。

    Date内部也是使用System.currentTimeMillis实现的,使用Date还得多构造一个对象,在量级很大的时候会有一些性能损耗。

    1. 【推荐】不要在视图模板中加入任何复杂的逻辑。
      说明:根据 MVC 理论,视图的职责是展示,不要抢模型和控制器的活。

    2. 【推荐】任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存。

    尤其是集合、批量参数、数据库表都要有最大数量的限制,否则就为OOM埋下隐患。

    1. 【推荐】及时清理不再使用的代码段或配置信息。
      说明:对于垃圾代码或过时配置,坚决清理干净,避免程序过度臃肿,代码冗余。
      正例:对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。

    参考

    附录

    《阿里巴巴Java开发手册》下载地址

    相关文章

      网友评论

          本文标题:阿里Java编程规约【九_完结篇】 其他

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