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
7baade93
Commit
7baade93
authored
Jul 28, 2017
by
custom
Browse files
Options
Browse Files
Download
Plain Diff
Merge origin/master into master
parents
67554f10
5c79434d
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
5 deletions
+25
-5
codeStyle.md
codeStyle.md
+25
-5
消息机制.md
后端开发/消息机制.md
+0
-0
No files found.
codeStyle.md
View file @
7baade93
...
...
@@ -6,22 +6,42 @@
2.
提供他人使用的接口,原则上不允许修改
**方法签名**
,若是不再推荐使用,可以加
**@ Deprecated**
注解,同时提示新的接口名称。
3.
**DTO**
类中所有的字段,不允许设置
**默认值**
,且DTO必须
**重写toString()方法**
。
4.
原则上不允许使用递归,部分情况可以使用尾递归。
5.
代码中不允许出现魔法值,即未定义的任何常量。
错误的用法不限于以下形式:
5.
代码中不允许出现魔法值,即未定义的任何常量。错误的用法不限于以下形式:
```
java
if
(
user
.
getStatus
()
==
5
){
// 5即为魔法值,应当避免使用
// do something
}
// 推荐使用常量
private
static
final
int
EXPIRED_USER_STATUS
=
5
;
if
(
user
.
getStatus
()
==
EXPIRED_USER_STATUS
){
// do something
}
```
6.
在类中定义的常量、变量及方法,需要严格控制访问修饰符,提供自己使用的设为private,可以供别人使用的可以设为public、protected等。
7.
所有的覆写方法,必须加@Override注解,防止错误的拼写导致意外。
7.
所有的覆写方法,必须加
**@Override**
注解,防止错误的拼写导致意外。
8.
Long类型的数据在初始化时必须使用大写的字母L, Double类型的数据必须使用大写的字母D。常见形式如
-
**Long time=10000L**
-
**Double money=12.3D**
9.
所有的数值的包装类型之间的比较不允许使用
<
、
>
、==之类的简单运算符,需要使用equals方法或者compareTo方法。
10.
所有方法的引用类型参数,若是未添加
**@NotNull**
注解,必须先进行null判断。
11.
捕获异常一般不允许直接捕获基类Exception,也不可捕获异常后不进行处理。方法中也不可抛出基类Exception。
12.
部分异常若是上层(调用层)不能解决,则不允许抛出。最外层若是出现异常必须自行处理,不可将异常信息直接展示给用户。
13.
所有的日志信息
**不允许使用System.out.println**
输出,异常的日志信息使用
**log.error**
打印时,必须使用重载方法将捕获的异常作为第二个参数。如:
```
java
try
{
// throw some exceptions
}
catch
(
IOException
e
){
logger
.
error
(
e
.
getMessage
(),
e
);
}
```
--- ---
## 二、命名规范
1.
所有的命名不允许使用
**拼音或者拼音英文混合**
方式,但部分公认的拼音允许使用,如
**shanghai,beijing**
等。
2.
所有的命名不允许使用
**下划线
_**
或者
**美元符$
**
作为起始或者结束。错误的情况有不限于以下几种:
2.
所有的命名不允许使用
**下划线
`_`**
或者
**美元符`$`
**
作为起始或者结束。错误的情况有不限于以下几种:
-
**_param**
-
**$param**
-
**param_**
...
...
@@ -29,7 +49,7 @@ if(user.getStatus() == 5){
-
**_param$**
### 包命名规范
1.
包名一般为域名倒
叙
开头,后接项目名,再加上单数形式的名词(项目中一般使用模块代码),且全部为小写字母,如:
1.
包名一般为域名倒
序
开头,后接项目名,再加上单数形式的名词(项目中一般使用模块代码),且全部为小写字母,如:
-
系统功能模块:
**com.hand.hls.sys**
-
合同功能模块:
**com.hand.hls.cont**
...
...
@@ -38,7 +58,7 @@ if(user.getStatus() == 5){
-
存放该模块数据库实体对象:
**dto**
-
存放该模块的部分组件:
**components**
-
存放该模块的业务接口:
**service**
-
存放
改
模块的业务实现类:
**service.impl**
-
存放
该
模块的业务实现类:
**service.impl**
-
存放该模块的Mybatis数据库交互层代码:
**mapper**
-
存放该模块的工具类代码:
**utils**
-
存放自定义的异常类代码:
**exception**
...
...
后端开发/消息机制.md
View file @
7baade93
This diff is collapsed.
Click to expand it.
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