Open Mikehro opened 2 years ago
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
编码规范
一. 代码风格规范
1. 编码
如无特殊情况,文件一律使用UTF-8编码,且文件头部必须加入 #-*-coding:utf-8-*- 标识。
2. 代码的布局
2.1 缩进
统一使用4个空格来缩进代码。代码中不应出现[TAB]字符(除字符串内)。对于行连接的情况,应当垂直对其换行的元素。
2.2 行长度
每行不应超过120个字符(注释中的URL除外)。
2.3 空行
模块级函数和类定义之间空两行,类成员函数之间空一行;函数或方法中, 某些地方要是你觉得合适, 也可以空一行。
2.4 空格
除注释和字符串中以外,代码中的空格一律为半角。
括号内不应有空格。
在括号外使用二元操作符(赋值:= 比较:==,!=,<>,<=,>=,in,not in,is,is not 布尔: and,or,not等等)时,两边都加上一个空格。
使用算术操作符(+,-,*,/ 等等)时不做要求,但务必保证两边空格数量一致。
例:
3.5 异常名
异常名名使用驼峰命名风格,其首字母大写;如果该异常属于错误,在其后加上Error。例:
3.6 应当避免的命名
单字符名称。除了计数器和迭代器以外,不应使用单字符名称。
包名、模块名中不应使用连字符(-)。
命名时不能以双下划线开头并双下划线结尾。
二. 代码设计规范
1. 时效与性能
1.1 循环使用
选择循环设计的过程中,应注意循环体中是否有db操作,http,tcp请求操作等和网络相关的耗时行为,若有,则尽量避免使用循环,使用其他替代方式实现相应功能;
如需要插入大量多数据,尽量采用批量插入方式,避免使用循环。
1.2 递归使用
尽量不在程序中使用递归。必须使用递归用法时,有必要预估递归的极限次数,做好相应的防范错误,如当递归到一定次数阈值时,强制跳出递归,输出错误日志。
2. 耦合性
在设计程序架构时,尽量去解耦不同的功能和逻辑模块,最大程度降低相互之间的直接依赖性;不同模块间互相不关注其内部细节,定义好接口后自身封装相应内部逻辑,无论内部如何变化使其不影响其他模块的外部调用者。
3. 扩展性
在进行功能实现和架构设计时,要更多的思考下当下的这部分功能是否可以为以后其他类似的项目和业务复用;在实现设计之初,要多考虑些后续代码的复用和灵活扩展。
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
编码规范
一. 代码风格规范
1. 编码
如无特殊情况,文件一律使用UTF-8编码,且文件头部必须加入 #-*-coding:utf-8-*- 标识。
2. 代码的布局
2.1 缩进
统一使用4个空格来缩进代码。代码中不应出现[TAB]字符(除字符串内)。对于行连接的情况,应当垂直对其换行的元素。
2.2 行长度
每行不应超过120个字符(注释中的URL除外)。
2.3 空行
模块级函数和类定义之间空两行,类成员函数之间空一行;函数或方法中, 某些地方要是你觉得合适, 也可以空一行。
2.4 空格
除注释和字符串中以外,代码中的空格一律为半角。
括号内不应有空格。
在括号外使用二元操作符(赋值:= 比较:==,!=,<>,<=,>=,in,not in,is,is not 布尔: and,or,not等等)时,两边都加上一个空格。
使用算术操作符(+,-,*,/ 等等)时不做要求,但务必保证两边空格数量一致。
例:
No: x==y Yes: x == y
3.5 异常名
异常名名使用驼峰命名风格,其首字母大写;如果该异常属于错误,在其后加上Error。例:
3.6 应当避免的命名
单字符名称。除了计数器和迭代器以外,不应使用单字符名称。
包名、模块名中不应使用连字符(-)。
命名时不能以双下划线开头并双下划线结尾。
二. 代码设计规范
1. 时效与性能
1.1 循环使用
选择循环设计的过程中,应注意循环体中是否有db操作,http,tcp请求操作等和网络相关的耗时行为,若有,则尽量避免使用循环,使用其他替代方式实现相应功能;
如需要插入大量多数据,尽量采用批量插入方式,避免使用循环。
1.2 递归使用
尽量不在程序中使用递归。必须使用递归用法时,有必要预估递归的极限次数,做好相应的防范错误,如当递归到一定次数阈值时,强制跳出递归,输出错误日志。
2. 耦合性
在设计程序架构时,尽量去解耦不同的功能和逻辑模块,最大程度降低相互之间的直接依赖性;不同模块间互相不关注其内部细节,定义好接口后自身封装相应内部逻辑,无论内部如何变化使其不影响其他模块的外部调用者。
3. 扩展性
在进行功能实现和架构设计时,要更多的思考下当下的这部分功能是否可以为以后其他类似的项目和业务复用;在实现设计之初,要多考虑些后续代码的复用和灵活扩展。