欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 编码规范8(编程规约-注释规约与其它),java规约

来源: javaer 分享于  点击 23708 次 点评:113

Java 编码规范8(编程规约-注释规约与其它),java规约


注释规约与其它


其它相关文章
Java 编码规范1(编程规约-命名风格)
Java 编码规范2(编程规约-常量定义)
Java 编码规范3(编程规约-代码格式)
Java 编码规范4(编程规约-OOP规约)
Java 编码规范5(编程规约-集合处理)
Java 编码规范6(编程规约-并发处理)
Java 编码规范7(编程规约-控制语句)
Java 编码规范8(编程规约-注释规约与其它)
Java 编码规范9(异常日志)
Java 编码规范10(单元测试)
Java 编码规范11(安全规约)
Java 编码规范12(MySQL-建表规约)
Java 编码规范13(MySQL-索引规约)
Java 编码规范14(MySQL-SQL语句与ORM映射)
Java 编码规范15(工程结构)


  • [参考] 好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的一个极端:过多过滥的注释,代码的逻辑一旦修改,修改注释是相当大的负担。

    • 反例:

      // put elephant into fridge
      put(elephant, fridge);
      • 方法名put,加上两个有意义的变量名elephant和fridge,已经说明了这是在干什么,语义清晰的代码不需要额外的注释。
  • [参考] 特殊注释标记,请注明标记人与标记时间。注意及时处理这些标记,通过标记扫描,经常清理此类标记。线上故障有时候就是来源于这些标记处的代码。

    • 待办事宜(TODO):( 标记人,标记时间,[预计处理时间])
      • 表示需要实现,但目前还未实现的功能。
      • 这实际上是一个Javadoc的标签,目前的Javadoc还没有实现,但已经被广泛使用。只能应用于类,接口和方法(因为它是一个Javadoc标签)。
    • 错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])
      • 在注释中用FIXME标记某代码是错误的,而且不能工作,需要及时纠正的情况。
  • [强制] 在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。

    • 不要在方法体内定义:Pattern pattern = Pattern.compile(规则);
  • [强制] velocity调用POJO类的属性时,建议直接使用属性名取值即可,模板引擎会自动按规范调用POJO的getXxx(),如果是boolean基本数据类型变量(boolean命名不需要加is前缀),会自动调用isXxx()方法。

    • 注意如果是Boolean包装类对象,优先调用getXxx()的方法。
  • [强制] 后台输送给页面的变量必须加$!{var}——中间的感叹号。

    • 如果var=null或者不存在,那么${var}会直接显示在页面上。
  • [强制] 注意 Math.random() 这个方法返回是double类型,注意取值的范围 0≤x<1(能够取到零值,注意除零异常)。

    • 如果想获取整数类型的随机数,不要将x放大10的若干倍然后取整,直接使用Random对象的nextInt或者`nextLong方法。
  • [强制] 获取当前毫秒数System.currentTimeMillis(); , 而不是new Date().getTime();

    • 如果想获取更加精确的纳秒级时间值,使用ystem.nanoTime()的方式。在JDK8中,针对统计时间等场景,推荐使用Instant类。
  • [推荐] 不要在视图模板中加入任何复杂的逻辑。

    • 根据MVC理论,视图的职责是展示,不要抢模型和控制器的活。
  • [推荐] 任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存。

  • [推荐] 及时清理不再使用的代码段或配置信息。

    • 说明:对于垃圾代码或过时配置,坚决清理干净,避免程序过度臃肿,代码冗余。
    • 正例:对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。
  • 相关文章

      暂无相关文章
    相关栏目:

    用户点评