TSCMS项目JAVA开发规范.docx

上传人:b****0 文档编号:10128909 上传时间:2023-05-23 格式:DOCX 页数:19 大小:22.02KB
下载 相关 举报
TSCMS项目JAVA开发规范.docx_第1页
第1页 / 共19页
TSCMS项目JAVA开发规范.docx_第2页
第2页 / 共19页
TSCMS项目JAVA开发规范.docx_第3页
第3页 / 共19页
TSCMS项目JAVA开发规范.docx_第4页
第4页 / 共19页
TSCMS项目JAVA开发规范.docx_第5页
第5页 / 共19页
TSCMS项目JAVA开发规范.docx_第6页
第6页 / 共19页
TSCMS项目JAVA开发规范.docx_第7页
第7页 / 共19页
TSCMS项目JAVA开发规范.docx_第8页
第8页 / 共19页
TSCMS项目JAVA开发规范.docx_第9页
第9页 / 共19页
TSCMS项目JAVA开发规范.docx_第10页
第10页 / 共19页
TSCMS项目JAVA开发规范.docx_第11页
第11页 / 共19页
TSCMS项目JAVA开发规范.docx_第12页
第12页 / 共19页
TSCMS项目JAVA开发规范.docx_第13页
第13页 / 共19页
TSCMS项目JAVA开发规范.docx_第14页
第14页 / 共19页
TSCMS项目JAVA开发规范.docx_第15页
第15页 / 共19页
TSCMS项目JAVA开发规范.docx_第16页
第16页 / 共19页
TSCMS项目JAVA开发规范.docx_第17页
第17页 / 共19页
TSCMS项目JAVA开发规范.docx_第18页
第18页 / 共19页
TSCMS项目JAVA开发规范.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TSCMS项目JAVA开发规范.docx

《TSCMS项目JAVA开发规范.docx》由会员分享,可在线阅读,更多相关《TSCMS项目JAVA开发规范.docx(19页珍藏版)》请在冰点文库上搜索。

TSCMS项目JAVA开发规范.docx

TSCMS项目JAVA开发规范

中国证券会

证券市场客户资金监控系统

开发规范

JAVA版

北京宇信易诚科技有限公司

SICMS项目组

目录

1、Java开发规范3

1.1、命名规范3

1.1.1、文件File3

1.1.2、包Package3

1.1.3、接口Interface3

1.1.4、类Class4

1.1.5、方法Method4

1.1.6、参数Parameter4

1.1.7、变量Variable5

1.1.8、实例变量InstanceVariable5

1.1.9、常量Constant5

1.1.10、数组Array5

1.2、格式规范6

1.2.1、注释Comment6

1.2.2、缩进Indentation7

1.2.3、空格Space7

1.2.4、空行BlankLine8

1.2.5、行长度LineLength8

1.2.6、换行NewLine9

1.2.7、圆括号Parentheses9

1.2.8、大括号BigBrackets9

1.3、语句规范10

1.3.1、简单语句SimpleStatement10

1.3.2、条件语句ConditionStatement10

1.3.3、分支语句SwitchStatement11

1.3.4、循环语句LoopStatement11

1.3.5、包和引入语句PacketandImportStatement12

1.3.6、声明语句DeclareStatement12

1.3.7、例外控制语句ExceptionControlStatement13

1.3.8、类和接口ClassandInterface13

1.3.9、方法Method14

1.3.10、属性Attribute14

1.3.11、SQL语句SQLStatement16

1.4、配置文件规范16

1.4.1、配置文件16

1.5、日志规范16

1.5.1、日志规范Logger16

1、Java开发规范

命名规范

1

2

2.1

1.1.1、文件File

命名规范

是否必须遵循

范例

文件名命名方法,单词首字母大写

必须

Org.java

数据层访问文件以DAO结尾

必须

IUserDAO

数据层访问实现文件以Impl结尾

必须

UserDAOImpl

业务层访问文件以BS结尾

必须

IUserBS

业务层访问实现文件以Impl结尾

必须

UserBSImpl

控制层访问文件以UCC结尾

必须

UserUCC

控制层访问实现文件以Impl结尾

必须

UserUCCImpl

页面访问层实现文件以BB结尾

必须

UserBB

1.1.2、包Package

命名规范

是否必须遵循

范例

采用项目缩写

必须

以cn.sicms开头

Package名称小写

必须

Package名称必须为单数

必须

使用:

mon

不使用:

mons

1.1.3、接口Interface

命名规范

是否必须遵循

范例

英语单词字头大写,其他可以用大写或小写

必须

User

接口要I开头

必须

IUser

1.1.4、类Class

命名规范

是否必须遵循

范例

英语单词字头大写,其他可以用大写或小写

必须

UserBean

1.1.5、方法Method

命名规范

是否必须遵循

范例

第一个英文单词首字母

小写

必须

openAccount()

类的获取方法的方法名采用被访问的字段名前加上前缀get

必须

getFirstName()

getLastName()

类的设置方法的方法名采用被访问的字段名前加上前缀set

必须

setFirstName()

setLastName()

类的布尔型的判断方法要求方法名使用单词is做前缀或者使用具

有逻辑意义的单词

必须

isPersistent()

isString()

类的普通方法采用完整的英文描述说明成员方法功能,并尽可能是动+

名形式。

必须

openFile()

addAccount()

1.1.6、参数Parameter

命名规范

是否必须遵循

范例

参数的名字必须和变量的命名规范一致

必须

thisAClassParameter

使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字

建议

setCounter(intsize)

{

this.size=size;

}

1.1.7、变量Variable

命名规范

是否必须遵循

范例

变量的名字必须以一个小写字母开头,后面的单词用大写字母开头

必须

username

thisIsAClassVariable

循环记数变量通常采用

i,j,k或者counter

建议

i,j,k

counter

1.1.8、实例变量InstanceVariable

命名规范

是否必须遵循

范例

变量的名字必须以一个小写字母开头,后面的单词用大写字母开头

必须

username

thisAClassInstance

1.1.9、常量Constant

命名规范

是否必须遵循

范例

常量的名字必须都大写,下划线分隔

必须

finalstaticint

DEFAULT_HTTP_PORT=80

1.1.10、数组Array

命名规范

是否必须遵循

范例

数组的名字必须参照示例命名

必须

使用:

byte[]buffer

不使用:

bytebuffer[]

格式规范

1.1.11、注释Comment

格式规范

是否必须遵循

范例

类/接口注释:

描述Java类、接口、每

个文档注释设在注释分

割符/**⋯*/中,这种注

释应该放在声明之前,

必须

/**

*功能/模块:

*@author张三

*@version1.0yyyy/mm/dd

*类描述

*/

publicclassExample{...

方法注释

描述方法。

每个文档注

释设在注释分割符

/**⋯*/中,必须明确的

描述方法的出入参数、

异常、以及方法的含义。

对于实现接口的方法,其注释的内容信息不得少于原接口中的注释内容

必须

 

/**

*@param

*@return

*方法描述

*/

成员注释

所有类成员必须进行注释;其中公共成员必须进行javaDoc注释;

对于方法内部的私有成员,缺省的需要注释,对于临时的,直观含义

明确的可以不加注释;

必须

块注释:

块注释用于给文件、方法、数据结构和算法提供描述。

必须利用块注释描述程序的要点。

写在函数或方法中

的块注释必须与它所描述的代码的缩进一致。

一个块注释之前应该由

一个空行将它与代码隔离开

必须

/*

*在这里描述

*/

单行注释:

单行的短注释与它所跟着的代码的缩进一致。

如果一个注释不能在一

行中写完,就应该使用块注释的格式。

单行注释之前应该有一个空行。

必须

If(condition){

//当帐户是在⋯

使用/**/临时删除原代码

建议

1.1.12、缩进Indentation

格式规范

是否必须遵循

范例

子功能块应在其父功能

块后缩进

必须

 

使用一个缩进位作为缩

进的单元

建议

if(){

SomeProcess();

}

1.1.13、空格Space

格式规范

是否必须遵循

范例

操作符前后使用空格

建议

if(x==3)

关键字与紧跟着的括号间使用空格分开

建议

while(true){

...

}

for语句中的表达式

建议使用空格分开

建议

for(expr1;expr2;expr3)

1.1.14、空行BlankLine

格式规范

是否必须遵循

范例

两个方法之间使用一个空行

建议

PublicStringgetName(){}

PublicStringgetPassword(){}

方法内的局部变量和方法的第一条语句之间使用一个空行

建议

PublicStringgetName(){

privateStringstr;

publicvoidgetStr();

}

块注释或单行注释之前使用一个空行

建议

一个方法内的两个逻辑段之间使用一个空行,用以提高可读性

1.1.15、行长度LineLength

格式规范

是否必须遵循

范例

单个方法的代码行(不包含注释行)建议少于100行

建议

单个类的代码行(包含注释行)建议少于1500行

建议

一行的长度尽量少于100个字符,因为很多的终端和工具不能很好

的处理,可能导致无法正确显示

建议

1.1.16、换行NewLine

格式规范

是否必须遵循

范例

‘elseif’和else不

要另起一行

catch’需要另起一行

建议

if(){

}elseif(){

}

try{

}

catch(Exceptione){

1.1.17、圆括号Parentheses

格式规范

是否必须遵循

范例

不应该在语句中使用无

意义的括号

必须

使用:

if(I=42)

不使用:

if((I)=42)

catch(Exceptione){

左括号和后一个字符之间不建议出现空格

建议

建议:

callProc(aParameter)

不建议:

callProc(aParameter)

右括号和前一个字符之

间不建议出现空格

建议:

callProc(aParameter)

不建议:

callProc(aParameter)

1.1.18、大括号BigBrackets

格式规范

是否必须遵循

范例

{}中的语句应该单独作为一行

必须

使用:

if(i>0){i++;}

不使用:

if(i>0){i++;

}

{}在使用时,左括号在

代码块起始行行尾,右

括号与代码块起始行上

下对齐。

大括号里的代

码缩进一个缩进位

必须

if(submit==null){

clear();

}

else{

update();

}

语句规范

1.1.19、简单语句SimpleStatement

规范

是否必须遵循

范例

每一行只能包含一个语句

必须

使用:

argv++;//正确

argc--;//正确

不使用:

argv++;argc--;

1.1.20、条件语句ConditionStatement

规范

是否必须遵循

范例

不要在条件语句内

用’=’,这会

与”==”混乱(同时适

用于while语句内条件

说明)

必须

在混合运算表达式中使用括号避免运算优先级问题,即使对运算的优

先顺序非常清晰,也应该这么做。

(同时适用于while语句内条件说明)

建议:

if((a==b)&&(c==d))

不建议:

If(a==b&&c==d)

1.1.21、分支语句SwitchStatement

规范

是否必须遵循

范例

每一个Switch的case

建议有default做为最后出口

必须

switch(x){

case1:

{expr;break;

}//endcase

case2:

{

expr;break;

}//endcase

default:

{

expr;break;

}//enddefault

}//endswitch

1.1.22、循环语句LoopStatement

规范

是否必须遵循

范例

如果for循环中表达式很长,建议将多行进行分割,保证代码的可读性

建议

for语句的初始化或更新语句中使用逗号时,避免复杂性,最多使用

三个变量。

必要的话,初始化可以在for循环之前使用单独的语句,

或更新语句可以在循环的底部执行

建议

1.1.23、包和引入语句PacketandImportStatement

规范

是否必须遵循

范例

import中标准的包名

要在本地的包名之前

建议

package.stats

importjava.io.*;

importjava.util.Observable;

import

hotlava.util.Application;

import语句建议遵循

以下导入顺序:

1.jdk标准包

2.java扩展包

3.使用外部库的包

4.使用项目的公共包

建议

1.1.24、声明语句DeclareStatement

规范

是否必须遵循

范例

不要将变量的声明放在同一行

必须

使用:

intfoo;

int[]fooarray;

不使用:

intfoo,fooarray[];

尽量在声明局部变量的同时初始化。

唯一不这么做的理由是变量的初

始值依赖于某些先前发生的计算

必须

避免声明的局部变量与

上一级变量重名。

必须

intcount;

...

myMethod(){

if(condition){

intcount=0;

//避免!

...

}

...

}

1.1.25、例外控制语句ExceptionControlStatement

规范

是否必须遵循

范例

不要有空的catch语句

出现,至少打印出在哪

里抛出例外和相关信息

必须

catch(SQlExceptione){

e.printStack()

}

在捕获一场时尽可能使

用具体异常,最好不要

使用Exception这类通

用异常类型,除非有明

确的要求需要捕获所有

异常。

建议

1.1.26、类和接口ClassandInterface

规范

是否必须遵循

范例

类、接口定义之前应先

进行注释。

注释包括类、

接口的目的、作用、功能,实现的算法、使用方法、示例程序等,还可以包括期望改进工作的地方和不希望改变的地方

必须

/*

*A的功能

*

/

PublicClassA

左括号”{”置于声明

行尾,右括号”}”另起

一行,缩进匹配相应开

始语句

必须

classSample{

intivar1;

intivar2;

Sample(inti,intj){

ivar1=i;

ivar2=j;

}

intemptyMethod(){}

}

1.1.27、方法Method

规范

是否必须遵循

范例

应尽可能验证所有传入

参数,不能假定非空对

象,验证有错误时返回

明确的错误信息

建议

If(Parameter1!

=NULL){

⋯}

//endIf

if(Parameter2!

=NULL){

⋯}

//endIf

尽量保证每个方法只有

一个出口,否则可能出

现丢失返回的情况

建议

booleancheck(){

booleanresult=false;

if(...){

result=true;

}

returnresult;

}

1.1.28、属性Attribute

规范

是否必须遵循

范例

当某一些数据为常量时不要直接

在代码中使用这些数据,而应该

先将这些数据定义为Java的常量

然后引用常量的标识符来完成预

定义功能

建议

 

在子类中不要重复定义父类中的

成员变量

必须

建议使用getter

和setter访问同

一个类中的成员

变量,或者用关

键字this应避免出现

public的成员变量,原则上都是

private,用getter和setter

进行访问,保证封装性

建议

this.getInternalName();

或者this.internalName;

建议不要在一个语句中为多个变

量赋相同的值

建议

建议:

fooBar.fChar=‘c’;

barFoo.lchar='c';

不建议:

fooBar.fChar=barFoo.lchar=

'c';

不要为了提高运行时的性能而使

用嵌入式的赋值

建议

建议:

a=b+c;

d=a+r

不建议:

d=(a=b+c)+r

1.1.29、SQL语句SQLStatement

规范

是否必须遵循

范例

SQL关键字应全部大写

必须

SELECTenameFROMemp

表名和字段名应小写

必须

配置文件规范

1.1.30、配置文件

规范

是否必须遵循

范例

以sicms开头+模块名+用途

必须

sicms-ua-component.xml

sicms-ua-navigator.xml

sicms-ua-tiles.xml

sicms-ua-ucc.xml

sicms-ua-dao.xml

sicms-ua-bs.xml

日志规范

1.1.31、日志规范Logger

规范

是否必须遵循

范例

在正式提交的代码中,

不允许使用System.out方式打印信息

必须

System.out.println(“123”);

日志应区分如下几类情

形:

l发生致命错误时运

行将终止(fatal)

l发生错误仍可继

续执行(error)

l发生警告仍可继续

执行(warn)

l记录运行过程或干

预情况(info)

l调试程序记录信息

等(debug)

必须

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2