规范

1.类名定义

类必须要有一定的注释信息
DO,VO,BO,DTO,DAO,TP,不需要遵循驼峰命名规范,都大写

DTO里面的类属性一定要使用包装数据类型(Double double),属性且不要加默认值
POJO必须要定义String()方法

  • AlarmDetailsDTO ✔️
  • AlarmDetailsDto X

1.枚举定义

枚举命名结尾Enum

IndexConfigTypeEnum

枚举定义中常用的方法,基于code去寻找枚举

public static IndexConfigTypeEnum getIndexConfigTypeEnumByType(int type) {
        for (IndexConfigTypeEnum indexConfigTypeEnum : IndexConfigTypeEnum.values()) {
            if (indexConfigTypeEnum.getType() == type) {
                return indexConfigTypeEnum;
            }
        }
        return DEFAULT;
    }

2.变量

驼峰命名,多个单词首字母大写
某些特殊语义,需要合并第二个字母非大写
例如

Heartbeat

2.常量

常量应该都是大写,多个单词用_间隔
不允许魔法值直接出现在代码中,常量必须要提前定义好
标准用法

FILE_UPLOAD_DIC
INDEX_CAROUSEL_NUMBER
MALL_VERIFY_CODE_KEY
GOODS_SEARCH_PAGE_LIMIT // 限制
ORDER_SEARCH_PAGE_LIMIT
SELL_STATUS_UP = 0; // 商品上架状态
SELL_STATUS_UP = 1; // 商品下架状态

3.包名

统一使用小写
.分隔,且是自然语义的单词

4.布尔类型变量

命名不要加is,防止序列化异常
Boolean success

5.变量命名的含义

一定要带业务含义的变量名称
不能String s = “”没有任何含义的定义

6.方法的参数不应该超过5个

7.方法提的行数不能超过70行

8.强转对象前要判断状态

9.switch

switch中必须要有一个default语句,即使什么也不干
且switch判断参数中如果是String的话,必须要先判断一下是否是null

10.if条件判断

if的条件判断中不要执行复杂的语句,
将复杂结果的判断逻辑复制给一个布尔变量

且判断条件个数最好不超过3个

且尽量避免用取反符号

11.try-catch-finally

finally 中不要执行return语句

12.线程

不允许显示自己创建线程并执行,一定要用线程
ThreadPoolExecutor去创建线程池
线程池中使用了ThreadLocal的线程对象,一定要及时清理

13.及时清理不使用的代码块和配置

14.不要使用java.sql.Date,Timestamp,Time类

15.不要使用过时的类和方法

16.静态成员,静态方法一定使用类名.调用,避免使用实例来执行

17.unix时间戳

用System.currentTimeMills()
不要用new Date().getTIme()

posted @ 2023-06-19 15:58  SpecialSpeculator  阅读(44)  评论(0编辑  收藏  举报