public/技术规范/Java后端开发规范.md

73 lines
3.1 KiB
Markdown
Raw Normal View History

2021-12-20 16:30:26 +08:00
# Java后端开发规范
> 拟稿:[黎润豪](/lirh)<a href="https://blog.lroyia.top" target="_blank">(个人博客)</a>
>
> <div><font>版本号 1.0.0 </font></div>
>
## 前言
本文为公司Java后端开发的代码规范规范分如下两级
- <font color="red">【强制】</font>:开发者必须遵循的开发规范要求
- <font color="green">【推荐】</font>:开发者选择性遵循的开发规范要求
## 编程约束
### 命名
- <font color="red">【强制】</font>杜绝完全不规范的缩写,避免望文不知义。
> <font color="red">【反例】</font>AbstractClass缩写成AbsClasscondition缩写成condiFunction缩写成Fu。
- <font color="red">【强制】</font>严禁使用非全世界都知道的拼音命名。
> <font color="green">正例</font>alibaba/youku/hangzhou
> <font color="red">反例</font>suanFen【算分】getGTHTypeCode【获取个体户类型编码】
#### 类命名
- <font color="red">【强制】</font>采用大驼峰UpperCamelCase命名法禁止使用数字命名。
> <font color="green">【正例】</font>KeyPairGlobalConfig
> <font color="red">【反例】</font>areaSliceAreaSlice1AreaSlice2
- <font color="green">【推荐】</font>采用【名词】,【形容词+名词】的格式进行命名
> <font color="green">【正例】</font>SMSSenderGlobalConfig
> <font color="red">【反例】</font>SendSMS
- <font color="red">【强制】</font>抽象类必须以Abstract或Base开头工具类例外如StringUtils异常类名明必须以Exception结尾测试类必须以Test结尾。
- <font color="red">【强制】</font>接口的参数类必须要以VO或Dto结尾命名接口与接口之间的传输参数传输类必须以Dto结尾命名。
#### 方法命名
2021-12-21 17:29:15 +08:00
- <font color="red">【强制】</font>采用小驼峰LowerCamelCase命名法禁止使用拼音命名
2021-12-20 16:30:26 +08:00
- <font color="green">【推荐】</font>方法参数不多于5个多于5个后改用DTO进行传输。
2021-12-21 17:29:15 +08:00
#### 变量命名
- <font color="red">【强制】</font>常量与枚举均使用大写+下划线组合的方式命名
> <font color="green">【正例】</font>LIMIT_SIZEENTITY_TYPE
- <font color="red">【强制】</font>采用小驼峰LowerCamelCase命名法禁止使用拼音命名
- <font color="red">【强制】</font>局部非循环与下标变量不可使用单字母命名特殊数学含义例外如斜截式的斜率a常数b
2021-12-20 16:30:26 +08:00
## 异常处理
2021-12-21 17:29:15 +08:00
- <font color="red">【强制】</font>方法若有显式的RuntimeException异常抛出必须使用`throws`关键字将其标识到方法上
- <font color="red">【强制】</font>异常的打印均用日志对象的error等级输出
- <font color="red">【强制】</font>IDEA发现的空指针问题必须要处理掉
- <font color="red">【强制】</font>捕获异常和跑异常必须完全匹配,或者捕获异常是抛异常的父类
- <font colr="red">【强制】</font>若异常被捕获,如果数据需要回滚,一定要注意进行手动回滚
2021-12-20 16:30:26 +08:00
## 工程结构