TSCMS项目-JAVA开发规范.docx_第1页
TSCMS项目-JAVA开发规范.docx_第2页
TSCMS项目-JAVA开发规范.docx_第3页
TSCMS项目-JAVA开发规范.docx_第4页
TSCMS项目-JAVA开发规范.docx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国证券会证券市场客户资金监控系统开发规范JAVA版北京宇信易诚科技有限公司SICMS项目组目录1、Java开发规范31.1、命名规范31.1.1、文件File31.1.2、包Package31.1.3、接口 Interface31.1.4、类 Class41.1.5、方法 Method41.1.6、参数 Parameter41.1.7、变量 Variable51.1.8、实例变量 Instance Variable51.1.9、常量Constant51.1.10、数组 Array51.2、格式规范61.2.1、注释 Comment61.2.2、缩进 Indentation71.2.3、空格Space71.2.4、空行Blank Line81.2.5、行长度 Line Length81.2.6、换行 New Line91.2.7、圆括号 Parentheses91.2.8、大括号 Big Brackets91.3、语句规范101.3.1、简单语句 Simple Statement101.3.2、条件语句 Condition Statement101.3.3、分支语句 Switch Statement111.3.4、循环语句 Loop Statement111.3.5、包和引入语句 Packet and Import Statement121.3.6、声明语句 Declare Statement121.3.7、例外控制语句 Exception Control Statement131.3.8、类和接口 Class and Interface131.3.9、方法 Method141.3.10、属性 Attribute141.3.11、SQL 语句 SQL Statement161.4、配置文件规范161.4.1、配置文件161.5、日志规范161.5.1、日志规范Logger161、 Java开发规范1.1、 命名规范、 文件File命名规范是否必须遵循范例文件名命名方法, 单词首字母大写必须Org.java数据层访问文件以DAO结尾必须IUserDAO数据层访问实现文件以Impl结尾必须UserDAOImpl业务层访问文件以BS结尾必须IUserBS业务层访问实现文件以Impl结尾必须UserBSImpl控制层访问文件以UCC结尾必须UserUCC控制层访问实现文件以Impl结尾必须UserUCCImpl页面访问层实现文件以BB结尾必须UserBB1.1.2、 包Package命名规范是否必须遵循范例采用项目缩写必须以cn.sicms开头Package 名称小写必须Package 名称必须为单数必须使用:mon不使用:mons1.1.3、 接口 Interface命名规范是否必须遵循范例英语单词字头大写,其他可以用大写或小写必须User接口要I 开头必须IUser1.1.4、 类 Class命名规范是否必须遵循范例英语单词字头大写,其他可以用大写或小写必须UserBean1.1.5、 方法 Method命名规范是否必须遵循范例第一个英文单词首字母小写必须openAccount()类的获取方法的方法名采用被访问的字段名前加上前缀get必须getFirstName()getLastName()类的设置方法的方法名采用被访问的字段名前加上前缀set必须setFirstName()setLastName()类的布尔型的判断方法要求方法名使用单词is 做前缀或者使用具有逻辑意义的单词必须isPersistent()isString()类的普通方法采用完整的英文描述说明成员方法功能,并尽可能是动+名形式。必须openFile()addAccount()1.1.6、 参数 Parameter命名规范是否必须遵循范例参数的名字必须和变量的命名规范一致必须thisAClassParameter使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字建议setCounter(int size)this.size=size;1.1.7、 变量 Variable命名规范是否必须遵循范例变量的名字必须以一个小写字母开头,后面的单词用大写字母开头必须usernamethisIsAClassVariable循环记数变量通常采用i, j, k 或者counter建议i, j, kcounter1.1.8、 实例变量 Instance Variable命名规范是否必须遵循范例变量的名字必须以一个小写字母开头,后面的单词用大写字母开头必须usernamethisAClassInstance1.1.9、 常量Constant命名规范是否必须遵循范例常量的名字必须都大写,下划线分隔必须final static intDEFAULT_HTTP_PORT=801.1.10、 数组 Array命名规范是否必须遵循范例数组的名字必须参照示例命名必须使用:byte buffer不使用:byte buffer1.2、 格式规范1.2.1、 注释 Comment格式规范是否必须遵循范例类/接口注释:描述Java 类、接口、每个文档注释设在注释分割符/*/中,这种注释应该放在声明之前,必须/* 功能/模块 :* author 张三* version 1.0 yyyy/mm/dd* 类描述*/public class Example 方法注释描述方法。每个文档注释设在注释分割符/*/中,必须明确的描述方法的出入参数、异常、以及方法的含义。对于实现接口的方法,其注释的内容信息不得少于原接口中的注释内容必须/* param* return*方法描述*/成员注释所有类成员必须进行注释;其中公共成员必须进行javaDoc 注释;对于方法内部的私有成员,缺省的需要注释,对于临时的,直观含义明确的可以不加注释;必须块注释:块注释用于给文件、方法、数据结构和算法提供描述。必须利用块注释描述程序的要点。写在函数或方法中的块注释必须与它所描述的代码的缩进一致。一个块注释之前应该由一个空行将它与代码隔离开必须/* 在这里描述*/单行注释:单行的短注释与它所跟着的代码的缩进一致。如果一个注释不能在一行中写完,就应该使用块注释的格式。单行注释之前应该有一个空行。必须If (condition) / 当帐户是在使用/* */临时删除原代码建议1.2.2、 缩进 Indentation格式规范是否必须遵循范例子功能块应在其父功能块后缩进必须使用一个缩进位作为缩进的单元建议if ()SomeProcess();1.2.3、 空格Space格式规范是否必须遵循范例操作符前后使用空格建议if (x = 3)关键字与紧跟着的括号间使用空格分开建议while (true).for 语句中的表达式建议使用空格分开建议for (expr1; expr2; expr3)1.2.4、 空行Blank Line格式规范是否必须遵循范例两个方法之间使用一个空行建议Public String getName() Public String getPassword() 方法内的局部变量和方法的第一条语句之间使用一个空行建议Public String getName() private String str;public void getStr();块注释或单行注释之前使用一个空行建议一个方法内的两个逻辑段之间使用一个空行,用以提高可读性1.2.5、 行长度 Line Length格式规范是否必须遵循范例单个方法的代码行(不包含注释行)建议少于100 行建议单个类的代码行(包含注释行) 建议少于1500 行建议一行的长度尽量少于100 个字符,因为很多的终端和工具不能很好的处理,可能导致无法正确显示建议1.2.6、 换行 New Line格式规范是否必须遵循范例else if和 else 不要另起一行catch需要另起一行建议if () else if () trycatch(Exception e)1.2.7、 圆括号 Parentheses格式规范是否必须遵循范例不应该在语句中使用无意义的括号必须使用:if(I=42)不使用:if(I)=42)catch(Exception e)左括号和后一个字符之间不建议出现空格建议建议:callProc(aParameter)不建议:callProc( aParameter)右括号和前一个字符之间不建议出现空格建议:callProc(aParameter)不建议:callProc(aParameter )1.2.8、 大括号 Big Brackets格式规范是否必须遵循范例中的语句应该单独作为一行必须使用:if(i0) i+;不使用:if(i0) i+;在使用时,左括号在代码块起始行行尾,右括号与代码块起始行上下对齐。大括号里的代码缩进一个缩进位必须if(submit=null)clear();elseupdate();1.3、 语句规范1.3.1、 简单语句 Simple Statement规范是否必须遵循范例每一行只能包含一个语句必须使用:argv+; / 正确argc-; / 正确不使用:argv+; argc-;1.3.2、 条件语句 Condition Statement规范是否必须遵循范例不要在条件语句内用=, 这会与”=”混乱(同时适用于while 语句内条件说明)必须在混合运算表达式中使用括号避免运算优先级问题,即使对运算的优先顺序非常清晰,也应该这么做。(同时适用于while 语句内条件说明)建议:if (a = b) &(c = d)不建议:If (a = b & c = d)1.3.3、 分支语句 Switch Statement规范是否必须遵循范例每一个Switch 的case建议有default 做为最后出口必须switch (x) case 1 : expr;break; / end casecase 2 : expr;break; / end casedefault : expr;break; / end default / end switch1.3.4、 循环语句 Loop Statement规范是否必须遵循范例如果for 循环中表达式很长,建议将多行进行分割,保证代码的可读性建议for 语句的初始化或更新语句中使用逗号时,避免复杂性,最多使用三个变量。必要的话,初始化可以在for 循环之前使用单独的语句,或更新语句可以在循环的底部执行建议1.3.5、 包和引入语句 Packet and Import Statement规范是否必须遵循范例import 中标准的包名要在本地的包名之前建议package .statsimport java.io.*;import java.util.Observable;importhotlava.util.Application;import 语句建议遵循以下导入顺序:1. jdk 标准包2. java 扩展包3. 使用外部库的包4. 使用项目的公共包建议1.3.6、 声明语句 Declare Statement规范是否必须遵循范例不要将变量的声明放在同一行必须使用:int foo;int fooarray;不使用:int foo, fooarray;尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算必须避免声明的局部变量与上一级变量重名。必须int count;.myMethod() if (condition) int count = 0;/ 避免!.1.3.7、 例外控制语句 Exception Control Statement规范是否必须遵循范例不要有空的catch 语句出现,至少打印出在哪里抛出例外和相关信息必须catch(SQlException e)e.printStack()在捕获一场时尽可能使用具体异常,最好不要使用Exception 这类通用异常类型,除非有明确的要求需要捕获所有异常。建议1.3.8、 类和接口 Class and Interface规范是否必须遵循范例类、接口定义之前应先进行注释。注释包括类、接口的目的、作用、功能,实现的算法、使用方法、示例程序等,还可以包括期望改进工作的地方和不希望改变的地方必须/*A的功能*/Public Class A左括号”置于声明行尾,右括号”另起一行,缩进匹配相应开始语句必须class Sample int ivar1;int ivar2;Sample(int i, int j) ivar1 = i;ivar2 = j;int emptyMethod() 1.3.9、 方法 Method规范是否必须遵循范例应尽可能验证所有传入参数,不能假定非空对象, 验证有错误时返回明确的错误信息建议If(Parameter1!=NULL)/ endIfif(Parameter2!=NULL) / endIf尽量保证每个方法只有一个出口,否则可能出现丢失返回的情况建议boolean check() boolean result = false;if (.) result = true;return result;1.3.10、 属性 Attribute规范是否必须遵循范例当某一些数据为常量时不要直接在代码中使用这些数据,而应该先将这些数据定义为Java 的常量然后引用常量的标识符来完成预定义功能建议在子类中不要重复定义父类中的成员变量必须建议使用getter和setter 访问同一个类中的成员变量,或者用关键字this应 避 免 出现public 的成员变量,原则上都是private , 用getter 和setter进行访问,保证封装性建议this.getInterna

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论