'样式调整'
This commit is contained in:
parent
8f9c2737d8
commit
3cd9bf192e
|
|
@ -2,84 +2,84 @@
|
|||
|
||||
> 拟稿:[黎润豪](/lirh)<a href="https://blog.lroyia.top" target="_blank">(个人博客)</a>
|
||||
>
|
||||
> <div><font>版本号 1.0.0 </font></div>
|
||||
> <div><span>版本号 1.0.0 </span></div>
|
||||
>
|
||||
|
||||
## 前言
|
||||
|
||||
本文为公司Java后端开发的代码规范,规范分如下两级:
|
||||
|
||||
- <font color="red">【强制】</font>:开发者必须遵循的开发规范要求
|
||||
- <font color="green">【推荐】</font>:开发者选择性遵循的开发规范要求
|
||||
- <span color="red">【强制】</span>:开发者必须遵循的开发规范要求
|
||||
- <span color="green">【推荐】</span>:开发者选择性遵循的开发规范要求
|
||||
|
||||
## 编程约束
|
||||
|
||||
### 命名
|
||||
|
||||
- <font color="red">【强制】</font>杜绝完全不规范的缩写,避免望文不知义。
|
||||
- <span color="red">【强制】</span>杜绝完全不规范的缩写,避免望文不知义。
|
||||
|
||||
> <font color="red">【反例】</font>:AbstractClass缩写成AbsClass;condition缩写成condi;Function缩写成Fu。
|
||||
> <span color="red">【反例】</span>:AbstractClass缩写成AbsClass;condition缩写成condi;Function缩写成Fu。
|
||||
|
||||
- <font color="red">【强制】</font>严禁使用非全世界都知道的拼音命名。
|
||||
- <span color="red">【强制】</span>严禁使用非全世界都知道的拼音命名。
|
||||
|
||||
> <font color="green">正例</font>:alibaba/youku/hangzhou
|
||||
> <font color="red">反例</font>:suanFen【算分】,getGTHTypeCode【获取个体户类型编码】
|
||||
> <span color="green">正例</span>:alibaba/youku/hangzhou
|
||||
> <span color="red">反例</span>:suanFen【算分】,getGTHTypeCode【获取个体户类型编码】
|
||||
|
||||
#### 类命名
|
||||
|
||||
- <font color="red">【强制】</font>采用大驼峰(UpperCamelCase)命名法,禁止使用数字命名。
|
||||
- <span color="red">【强制】</span>采用大驼峰(UpperCamelCase)命名法,禁止使用数字命名。
|
||||
|
||||
> <font color="green">【正例】</font>:KeyPair,GlobalConfig
|
||||
> <font color="red">【反例】</font>:areaSlice,AreaSlice1,AreaSlice2
|
||||
> <span color="green">【正例】</span>:KeyPair,GlobalConfig
|
||||
> <span color="red">【反例】</span>:areaSlice,AreaSlice1,AreaSlice2
|
||||
|
||||
- <font color="green">【推荐】</font>采用【名词】,【形容词+名词】的格式进行命名
|
||||
- <span color="green">【推荐】</span>采用【名词】,【形容词+名词】的格式进行命名
|
||||
|
||||
> <font color="green">【正例】</font>:SMSSender,GlobalConfig
|
||||
> <font color="red">【反例】</font>:SendSMS
|
||||
> <span color="green">【正例】</span>:SMSSender,GlobalConfig
|
||||
> <span color="red">【反例】</span>:SendSMS
|
||||
|
||||
- <font color="red">【强制】</font>抽象类必须以Abstract或Base开头(工具类例外:如StringUtils);异常类名明必须以Exception结尾;测试类必须以Test结尾。
|
||||
- <span color="red">【强制】</span>抽象类必须以Abstract或Base开头(工具类例外:如StringUtils);异常类名明必须以Exception结尾;测试类必须以Test结尾。
|
||||
|
||||
- <font color="red">【强制】</font>接口的参数类必须要以VO或Dto结尾命名;接口与接口之间的传输参数传输类必须以Dto结尾命名。
|
||||
- <span color="red">【强制】</span>接口的参数类必须要以VO或Dto结尾命名;接口与接口之间的传输参数传输类必须以Dto结尾命名。
|
||||
|
||||
#### 方法命名
|
||||
|
||||
- <font color="red">【强制】</font>采用小驼峰(LowerCamelCase)命名法,禁止使用拼音命名
|
||||
- <span color="red">【强制】</span>采用小驼峰(LowerCamelCase)命名法,禁止使用拼音命名
|
||||
|
||||
- <font color="green">【推荐】</font>方法参数不多于5个,多于5个后改用DTO进行传输。
|
||||
- <span color="green">【推荐】</span>方法参数不多于5个,多于5个后改用DTO进行传输。
|
||||
|
||||
#### 变量命名
|
||||
|
||||
- <font color="red">【强制】</font>常量与枚举均使用大写+下划线组合的方式命名
|
||||
- <span color="red">【强制】</span>常量与枚举均使用大写+下划线组合的方式命名
|
||||
|
||||
> <font color="green">【正例】</font>LIMIT_SIZE,ENTITY_TYPE
|
||||
> <span color="green">【正例】</span>LIMIT_SIZE,ENTITY_TYPE
|
||||
|
||||
- <font color="red">【强制】</font>采用小驼峰(LowerCamelCase)命名法,禁止使用拼音命名
|
||||
- <span color="red">【强制】</span>采用小驼峰(LowerCamelCase)命名法,禁止使用拼音命名
|
||||
|
||||
- <font color="red">【强制】</font>局部非循环与下标变量,不可使用单字母命名(特殊数学含义例外,如斜截式的斜率a,常数b)
|
||||
- <span color="red">【强制】</span>局部非循环与下标变量,不可使用单字母命名(特殊数学含义例外,如斜截式的斜率a,常数b)
|
||||
|
||||
## 异常处理
|
||||
|
||||
- <font color="red">【强制】</font>方法若有显式的RuntimeException异常抛出,必须使用`throws`关键字将其标识到方法上
|
||||
- <span color="red">【强制】</span>方法若有显式的RuntimeException异常抛出,必须使用`throws`关键字将其标识到方法上
|
||||
|
||||
- <font color="red">【强制】</font>异常的打印均用日志对象的error等级输出
|
||||
- <span color="red">【强制】</span>异常的打印均用日志对象的error等级输出
|
||||
|
||||
- <font color="red">【强制】</font>IDEA发现的空指针问题必须要处理掉
|
||||
- <span color="red">【强制】</span>IDEA发现的空指针问题必须要处理掉
|
||||
|
||||
- <font color="red">【强制】</font>捕获异常和跑异常必须完全匹配,或者捕获异常是抛异常的父类
|
||||
- <span color="red">【强制】</span>捕获异常和跑异常必须完全匹配,或者捕获异常是抛异常的父类
|
||||
|
||||
- <font color="red">【强制】</font>若异常被捕获,如果数据需要回滚,一定要注意进行手动回滚
|
||||
- <span color="red">【强制】</span>若异常被捕获,如果数据需要回滚,一定要注意进行手动回滚
|
||||
|
||||
## 日志规约
|
||||
|
||||
- <font color="red">【强制】</font>日志对象在项目引用了lombok的情况下,请用@SLF4J注解声明
|
||||
- <span color="red">【强制】</span>日志对象在项目引用了lombok的情况下,请用@SLF4J注解声明
|
||||
|
||||
- <font color="red">【强制】</font>所有日志文件至少保存15天
|
||||
- <span color="red">【强制】</span>所有日志文件至少保存15天
|
||||
|
||||
- <font color="red">【强制】</font>日志信息拼接使用`{}`占位符,以提高可读性和拼接性能
|
||||
- <span color="red">【强制】</span>日志信息拼接使用`{}`占位符,以提高可读性和拼接性能
|
||||
|
||||
- <font color="red">【强制】</font>生产环境进制直接使用`System.out`,`System.err`或`e.printStackTrace()`充当日志输出
|
||||
- <span color="red">【强制】</span>生产环境进制直接使用`System.out`,`System.err`或`e.printStackTrace()`充当日志输出
|
||||
|
||||
- <font color="red">【强制】</font>避免重复打印日志,浪费磁盘空间,务必在日志配置文件中的子logger配置additivity=false
|
||||
- <span color="red">【强制】</span>避免重复打印日志,浪费磁盘空间,务必在日志配置文件中的子logger配置additivity=false
|
||||
|
||||
```xml
|
||||
<logger name="com.chinaweal.dao" level="debug" additivity="false"/>
|
||||
|
|
@ -87,8 +87,8 @@
|
|||
|
||||
## 代码结构
|
||||
|
||||
- <font color="green">【推荐】</font>`{}`代码块嵌套不应超过4层
|
||||
- <span color="green">【推荐】</span>`{}`代码块嵌套不应超过4层
|
||||
|
||||
## 工程结构
|
||||
|
||||
- <font color="green">【推荐】</font>目录结构com.chinaweal.{项目简称}.{通用配置名/数据源缩写}.{controller/service/entity/mapper}
|
||||
- <span color="green">【推荐】</span>目录结构com.chinaweal.{项目简称}.{通用配置名/数据源缩写}.{controller/service/entity/mapper}
|
||||
|
|
|
|||
Loading…
Reference in New Issue