- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序编码规范
后台技术中心
编 写 人:汪源
编写时间:2009-3-27
部 门 名:后台技术中心
修订记录
编号 修订内容简述 修订日期 版本 修订人 1 初始版本 2009-3-27 0.1 汪源 总体约定
一个工程中的所有文件应统一使用GBK或UTF-8编码。
代码使用大小为4的TAB缩进。
代码使用package组织,package名应以com.netease.开关。
使用Vector等集合框架类时,应指定模板类型参数。
命名规范
类名、文件名、枚举变量等统一使用首字母大写,如
class TableInfo {
...
};
函数参数、局部变量、函数名等统一使用Sun风格的命名,即第一个单词小写,其它单词首字母大写,如:
int maxLength;
NtseIndex *primaryKey;
bool dropTable(...) {
//
}
不允许使用匈牙利式命名法。
常量统一使用全大写,单词之间用_连接,如:
static final int NTSE_NAME_LEN;
目录名统一使用全小写字母,单词之间用-连接。
语句
主要是{放在同一行及空格使用上的约定。
if/else形如(注意其中每个空格的位置):
if (xxx) {
...
} else if (xxx) {
...
} else {
...
}
for/while形如:
for (xxx; xxx; xxx) {
...
}
while (xxx) {
...
}
switch形如:
switch (xxx) {
case aaa:
...
break;
case bbb:
...
break;
default:
break;
}
函数定义形如:
int foo(int p1, int p2) {
...
}
try/catch形如:
try {
...
} catch (SomeException e) {
...
} finally {
...
}
空白
基本的风格是操作符的两边都要用空格,如:
a = b * 2 + c;
但++/--操作与表达式之间不要用空格,如应使用:
i++;
i--;
而不要使用
i ++;
i --;
;与,操作符应该前边没有空格,后边有空格,如应使用:
for (i = 0; i 100; i++)
some_func(arg1, arg2, arg3);
而不要使用
for (i = 0 ; i 100 ; i++)
some_func(arg1 , arg2 , arg3)
注释
统一使用Java风格的注释,如函数注释形如:
/** 函数简要声明
*
* [可选]函数详细说明
* @pre 先验条件,在调用函数之前必须满足的条件
* @post 后验条件,函数完成之后必须满足的条件
* @param 参数1 参数说明
* @param 参数2 参数说明
* ...
* @throw SomeException 异常说明
* @return 返回值说明
*/
注释写在哪里
被子类重写的虚函数的注释应该写在基类中,如果子类的实现没有什么特殊之处,在子类中写@see 基类函数即可,没有必要将一个注释拷贝多份。
各对象注释规范
开发人员应该为项目主体实现代码中的所有类、类成员、函数等书写完整的注释。单元测试等非主体实现代码的注释要求由主管根据项目需要决定。
代码质量
进行良好的功能分解与模块划分,各模块应拥有明确单一的职责,遵循高内聚低耦合的原则;
保持代码的封装性,各模块不应对外透露不必要的实现细节,使用各模块时,防止依赖于模块的内部实现或对模块的实现做各种假设;
代码重复是代码中最最常见的问题,尽量消除重复代码;
保持代码结构尽可能的清晰,保证良好的可读性,保持各类、函数、变量具有单纯的功能;
恰到好处的注释,对于含义自明的代码无需重复注释(按规范要求必须包含的函数等说明注释除外),代码的目的或存在原因不太明确时应用注释说明;
函数体中适当的使用空行划分出各个逻辑上紧密联系的段落是增强代码可读性的好方法;
模块规模较为庞大时,应考虑分离模块的主干流程代码与非主干流程,这样有助于保持主干流程代码的简洁性,增强对模块整体上的掌控能力;
不要保留大量的无用代码、历史遗留代码等,代码使用SVN
您可能关注的文档
- 合作学习不仅是有效的教学策略.docx
- 合作开办蔬菜种植基地谈判》方案.doc
- 合作销售蔬菜谈判方案.doc
- 合同履行中的违约及其责任承担案例.doc
- 7《小小的船》课件.ppt
- 合同按不同的分类标准可分为不同的种类.doc
- 合同文秘部主任职责.doc
- 合同无效——案例2.docx
- 合同法实务操作、风险防范和纠纷处理技巧.doc
- 7上12《济南的冬天》hdf.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 《市政排水管道气囊封堵施工规程》.pdf
- TOPRAAD920印刷模切开槽机.pdf VIP
- 单相整流电路建模与仿真.doc VIP
- 缺血性脑血管病临床管理指南解读.pptx VIP
- 工程概算预算审核方案(3篇).docx VIP
- 神经重症气管切开患者气道功能康复与管理专家共识2024.pptx VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
文档评论(0)