1.**【强制】**在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。
说明:不要在方法体内定义:Pattern pattern = Pattern.compile(规则);
2.**【强制】**velocity调用POJO类的属性时,建议直接使用属性名取值即可,模板引擎会自动按规范调用POJO的getXxx(),如果是boolean基本数据类型变量(boolean命名不需要加is前缀),会自动调用isXxx()方法。
说明:注意如果是Boolean包装类对象,优先调用getXxx()的方法。
3.**【强制】**后台输送给页面的变量必须加$!{var}——中间的感叹号。
说明:如果var=null或者不存在,那么${var}会直接显示在页面上。
4.**【强制】**注意 Math.random()这个方法返回是double类型,注意取值的范围 0≤x<1(能够取到零值,注意除零异常),如果想获取整数类型的随机数,不要将x放大10的若干倍然后取整,直接使用Random对象的nextInt或者nextLong方法。
5.**【强制】**获取当前毫秒数System.currentTimeMillis();而不是new Date().getTime();
说明:如果想获取更加精确的纳秒级时间值,用System.nanoTime()。在JDK8中,针对统计时间等场景,推荐使用Instant类。
6.*【推荐】*尽量不要在vm中加入变量声明、逻辑运算符,更不要在vm模板中加入任何复杂的逻辑。
7.*【推荐】*任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存。
8.*【推荐】*对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。