Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hel-developer-guide
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenhao
hel-developer-guide
Commits
a32833d6
Commit
a32833d6
authored
Jul 25, 2017
by
yang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update codeStyle.md
parent
bb1ac001
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
66 deletions
+47
-66
codeStyle.md
codeStyle.md
+47
-66
No files found.
codeStyle.md
View file @
a32833d6
## 一、项目开发规范
## 一、项目开发规范
1.
所有的项目文件必须采用UTF-8编码,IDEA及Eclipse需要手动设置项目编码以及编译编码。
1.
所有的项目文件必须采用UTF-8编码,IDEA及Eclipse需要手动设置项目编码以及编译编码。
> - Eclipse中修改项目编码的方法参考:[Eclipse修改编码方法](http://jingyan.baidu.com/article/647f0115b0c9887f2148a822.html)
-
Eclipse中修改项目编码的方法参考:
[
Eclipse修改编码方法
](
http://jingyan.baidu.com/article/647f0115b0c9887f2148a822.html
)
> - IDEA中修改项目编码的方法参考:[IDEA修改编码方法](http://jingyan.baidu.com/article/948f5924e4de57d80ff5f998.html])
-
IDEA中修改项目编码的方法参考:
[
IDEA修改编码方法
](
http://jingyan.baidu.com/article/948f5924e4de57d80ff5f998.html]
)
2.
提供他人使用的接口,原则上不允许修改
**方法签名**
,若是不再推荐使用,可以加
**@ Deprecated**
注解,同时提示新的接口名称。
2.
提供他人使用的接口,原则上不允许修改
**方法签名**
,若是不再推荐使用,可以加
**@ Deprecated**
注解,同时提示新的接口名称。
3.
**DTO**
类中所有的字段,不允许设置
**默认值**
,且DTO必须
**重写toString()方法**
。
3.
**DTO**
类中所有的字段,不允许设置
**默认值**
,且DTO必须
**重写toString()方法**
。
...
@@ -24,109 +23,91 @@ if(user.getStatus() == 5){
...
@@ -24,109 +23,91 @@ if(user.getStatus() == 5){
1.
所有的命名不允许使用
**拼音或者拼音英文混合**
方式,但部分公认的拼音允许使用,如
**shanghai,beijing**
等。
1.
所有的命名不允许使用
**拼音或者拼音英文混合**
方式,但部分公认的拼音允许使用,如
**shanghai,beijing**
等。
2.
所有的命名不允许使用
**下划线_**
或者
**美元符$**
作为起始或者结束。错误的情况有不限于以下几种:
2.
所有的命名不允许使用
**下划线_**
或者
**美元符$**
作为起始或者结束。错误的情况有不限于以下几种:
-
**_param**
>
- **_param**
-
**$param**
>
- **$param**
-
**param_**
>
- **param_**
-
**param$**
>
- **param$**
-
**_param$**
>
- **_param$**
### 包命名规范
### 包命名规范
1.
包名一般为域名倒叙开头,后接项目名,再加上单数形式的名词(项目中一般使用模块代码),且全部为小写字母,如:
1.
包名一般为域名倒叙开头,后接项目名,再加上单数形式的名词(项目中一般使用模块代码),且全部为小写字母,如:
> - 系统功能模块:**com.hand.hls.sys**
-
系统功能模块:
**com.hand.hls.sys**
> - 合同功能模块:**com.hand.hls.cont**
-
合同功能模块:
**com.hand.hls.cont**
2.
在功能模块包中一般包含如下几种形式的包:
2.
在功能模块包中一般包含如下几种形式的包:
> - 存放SpringMVC的控制层代码: **controllers**
-
存放SpringMVC的控制层代码:
**controllers**
> - 存放该模块数据库实体对象: **dto**
-
存放该模块数据库实体对象:
**dto**
> - 存放该模块的部分组件: **components**
-
存放该模块的部分组件:
**components**
> - 存放该模块的业务接口: **service**
-
存放该模块的业务接口:
**service**
> - 存放改模块的业务实现类: **service.impl**
-
存放改模块的业务实现类:
**service.impl**
> - 存放该模块的Mybatis数据库交互层代码: **mapper**
-
存放该模块的Mybatis数据库交互层代码:
**mapper**
> - 存放该模块的工具类代码: **utils**
-
存放该模块的工具类代码:
**utils**
> - 存放自定义的异常类代码: **exception**
-
存放自定义的异常类代码:
**exception**
### 类命名规范
### 类命名规范
1.
一般类名采用Pascal命名法,所有单词的首字母大写,其余字母小写,单词与单词之间不使用
**下划线_**
分割,常见形式如:
1.
一般类名采用Pascal命名法,所有单词的首字母大写,其余字母小写,单词与单词之间不使用
**下划线_**
分割,常见形式如:
> - **HlsClassName**
-
**HlsClassName**
> - **HlsNormalClass**
-
**HlsNormalClass**
2.
数据库实体类一般与数据表名称相同并改为Pascal命名规则,以
**DTO**
结尾,如:
2.
数据库实体类一般与数据表名称相同并改为Pascal命名规则,以
**DTO**
结尾,如:
> - **SysUserDTO**
-
**SysUserDTO**
> - **SysRoleDTO**
-
**SysRoleDTO**
3.
抽象类命名使用
**Abstract**
开头,接口一般以
**I**
开头,Mybatis的mapper对象可不用
**I**
开头但必须使用
**Mapper**
结尾,如:
3.
抽象类命名使用
**Abstract**
开头,接口一般以
**I**
开头,Mybatis的mapper对象可不用
**I**
开头但必须使用
**Mapper**
结尾,如:
> - **AbstractClass**
-
**AbstractClass**
> - **ILog**
-
**ILog**
> - **SysUserMapper**
-
**SysUserMapper**
4.
业务逻辑层接口类使用
**I**
开头,且必须以
**Service**
结尾;业务的实现类在接口的基础上去掉开头的字母
**I**
,最后加上
**Impl**
,如:
4.
业务逻辑层接口类使用
**I**
开头,且必须以
**Service**
结尾;业务的实现类在接口的基础上去掉开头的字母
**I**
,最后加上
**Impl**
,如:
> - **ISysUserService**
-
**ISysUserService**
> - **SysUserServiceImpl**
-
**SysUserServiceImpl**
5.
自定义的异常类以
**Exception**
结尾,如:
5.
自定义的异常类以
**Exception**
结尾,如:
> - **UserNotFoundException**
-
**UserNotFoundException**
> - **UserDefineException**
-
**UserDefineException**
6.
项目中的测试类一般以测试对象的类名开头,以
**Test**
结尾,如:
6.
项目中的测试类一般以测试对象的类名开头,以
**Test**
结尾,如:
> - **SysUserServiceImplTest**
-
**SysUserServiceImplTest**
7.
若是采用了设计模式的类,在命名时,可在最后添加设计模式的名称,如:
7.
若是采用了设计模式的类,在命名时,可在最后添加设计模式的名称,如:
> - 工厂模式: **LoggerFactory**
-
工厂模式:
**LoggerFactory**
> - 代理模式: **UserProxy**
-
代理模式:
**UserProxy**
> - 适配器模式: **ArrayAdapter**
-
适配器模式:
**ArrayAdapter**
### 变量命名规范
### 变量命名规范
1.
成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式,即
**首单词**
字母都小写,后面单词的
**首字母大写**
。如
1.
成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式,即
**首单词**
字母都小写,后面单词的
**首字母大写**
。如
+
**hlsClassFieldName**
+
**hlsClassFieldName**
+
**hlsLocalParamName**
+
**hlsLocalParamName**
2.
数据库对象的成员变量中若是变量的类型为Boolean类型,则变量名不允许使用
**is**
开头,错误的命名如下:
2.
数据库对象的成员变量中若是变量的类型为Boolean类型,则变量名不允许使用
**is**
开头,错误的命名如下:
> - **private Boolean isAdmin**
-
**private Boolean isAdmin**
### 常量命名规范
### 常量命名规范
1.
常量的命名一般所有单词都
**大写**
,各个单词之间使用下划线
`_`
分隔,如:
1.
常量的命名一般所有单词都
**大写**
,各个单词之间使用下划线
`_`
分隔,如:
> - **PI**
-
**PI**
> - **PROJECT_PATH**
-
**PROJECT_PATH**
2.
常量的命名尽量使用单词表达出常量的用途及含义,力求语义清晰,不用担心名字太长,如:
2.
常量的命名尽量使用单词表达出常量的用途及含义,力求语义清晰,不用担心名字太长,如:
> - 周期的第一天:**FIRST_DAY_OF_CYCLE**
-
周期的第一天:
**FIRST_DAY_OF_CYCLE**
> - 用户允许的最大错误次数:**USER_ALLOWED_MAX_ERROR_COUNT**
-
用户允许的最大错误次数:
**USER_ALLOWED_MAX_ERROR_COUNT**
### 方法命名规范
### 方法命名规范
1.
方法的命名规则采用lowerCamelCase风格,方法名的首单词字母全部小写,其余单词首字母大写,如:
1.
方法的命名规则采用lowerCamelCase风格,方法名的首单词字母全部小写,其余单词首字母大写,如:
> - **walkMyWay()**
-
**walkMyWay()**
> - **doSomething()**
-
**doSomething()**
2.
对数据库进行查询的方法,一般以
**select、find、query**
开头,后面接查询的对象,若是查询结果为List集合,对象名可变为复数,如:
2.
对数据库进行查询的方法,一般以
**select、find、query**
开头,后面接查询的对象,若是查询结果为List集合,对象名可变为复数,如:
> - `public SysUser selectSysUser()`
-
`public SysUser selectSysUser()`
> - `public List<SysRole> findSysRoles()`
-
`public List<SysRole> findSysRoles()`
3.
对数据进行数据插入的方法,一般以
**insert**
开头,后接插入的对象,若是允许批量插入对象,对象名可变为复数,如:
3.
对数据进行数据插入的方法,一般以
**insert**
开头,后接插入的对象,若是允许批量插入对象,对象名可变为复数,如:
> - `public int insertSysUser(SysUser user)`
-
`public int insertSysUser(SysUser user)`
> - `public int insertSysRoles(List<SysRole> roles)`
-
`public int insertSysRoles(List<SysRole> roles)`
4.
对数据库进行数据删除的方法,一般以
**delete**
开头,后接插入的对象,若是允许批量插入对象,对象名可变为复数,如:
4.
对数据库进行数据删除的方法,一般以
**delete**
开头,后接插入的对象,若是允许批量插入对象,对象名可变为复数,如:
> - `public int deleteSysUser(SysUser user)`
-
`public int deleteSysUser(SysUser user)`
> - `public int deleteSysRoleByIds(List<Long> roleIds)`
-
`public int deleteSysRoleByIds(List<Long> roleIds)`
5.
对数据库进行数据更新的方法,一般以
**update**
开头,后接插入的对象,若是允许批量插入对象,对象名可变为复数,如:
5.
对数据库进行数据更新的方法,一般以
**update**
开头,后接插入的对象,若是允许批量插入对象,对象名可变为复数,如:
> - `public SysRole updateSysRole(SysRole role)`
-
`public SysRole updateSysRole(SysRole role)`
> - `public int updateSysUsers(List<SysUser> users)`
-
`public int updateSysUsers(List<SysUser> users)`
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment