代码规范

1、安装阿里代码规范插件:

https://blog.csdn.net/weixin_39220472/article/details/80077803

2、IDEA用于格式化指令:

Ctrl+Alt+L  格式化代码(代码的对齐)
Ctrl+Alt+O  清除无用的import
Ctrl+Alt+T  把代码放到一个块里
Ctrl+Alt+M  重复代码提取

3、阿里云最新版代码规范文档

https://gstore-static.xchanger.cn/production/201908/%E3%80%8AJava%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%E3%80%8Bv1.5.0%20%E5%8D%8E%E5%B1%B1%E7%89%88_1566380853131.pdf

4、阿里云代码规范(部分)

数据库

    1、【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned
    tinyint(1 表示是,0 表示否)。
    说明:任何字段如果为非负数,必须是 unsigned。
    
    2、【强制】主键索引名为 pk_字段名;唯一索引名为 uk_字段名;普通索引名则为 idx_字段名

    3、【强制】小数类型为 decimal,禁止使用 float 和 double。
    说明:在存储的时候,float 和 double 都存在精度损失的问题,很可能在比较值的时候,得到不正确的
    结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数并分开存储。

    4、【强制】使用 ISNULL()来判断是否为 NULL 值。
    说明:NULL 与任何值的直接比较都为 NULL。

    5、【强制】sql.xml 配置参数使用:#{},#param# 不要使用${} 此种方式容易出现 SQL 注入

    【推荐】如果有 order by 的场景,请注意利用索引的有序性。order by 最后的字段是组合
    索引的一部分,并且放在索引组合顺序的最后,避免出现 file_sort 的情况,影响查询性能。

编码规范

    1、【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。

    2、【强制】不能使用过时的类或方法。

    3、【强制】所有整型包装类对象之间值的比较,全部使用 equals 方法比较。
    说明:对于 Integer var = ? 在-128 至 127 范围内的赋值,Integer 对象是在 IntegerCache.cache 产
    生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行判断,但是这个区间之外的所有数
    据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用 equals 方法进行判断。 

    4、【强制】在使用阻塞等待获取锁的方式中,必须在 try 代码块之外,并且在加锁方法与 try 代
    码块之间没有任何可能抛出异常的方法调用,避免加锁成功后,在 finally 中无法解锁。
    5、【强制】并发修改同一记录时,避免更新丢失,需要加锁。要么在应用层加锁,要么在缓存
    加锁,要么在数据库层使用乐观锁,使用 version 作为更新依据。
    说明:如果每次访问冲突概率小于 20%,推荐使用乐观锁,否则使用悲观锁。乐观锁的重试次数不得小于
    3 次。

你可能感兴趣的:(代码规范)