Java项目组开发规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

第一章概述

1.1 编写目的

为规范FSOP项目的开发实施工作,特制定本规范。

为了提高软件开发质量,降低开发周期,增强代码的可重用性和易读性,使软件便于维护,开发人员间便于交流和协作,特总结出开发规范,以为参考。

1.2面向读者

从事FSOP项目的开发、实施工作的相关人员。

1.3名词解释

本节对手册中涉及到的术语进行简单描述。

第二章程序结构

2.1包结构

项目中的所有代码,必须符合如下的结构:

1、各子系统的模块:

其中subsys是子系统的名称,module是模块的名称,xxServlet和xxHandler是模块下面的Servlet 和Handler,允许有多个Servlet和Handler同时存在,建议同一个模块下,用多套Servlet和Handler处理不同的业务对象;util存放该模块专用的类;package/class可以任意级别的包或者类;

2、子系统之外的模块:

sm.{module}.servlet.[xxServlet]

mon.util.[xxUtil]

mon.hander.[xxHander]

mon.sql.[xxSql]

mon.entity.[xxxx]

其中sm是system manage的简写,其他同上;

3、公共的类:

含义同上。

2.2相关类

1、对于Servlet,必须继承ServletBase,必须在Servlet中处理与request和response相关的操作,一般是取参数和设置属性等操作;

2、对于Handler,必须继承HandlerBase,该类的方法中,不能用request和response作为参数,更不能用Servlet作为参数;

3、程序中使用到的SQL,一律在XXXSQLBuilder中进行拼写,该类属于util包,需要继承SQLBuilderBase,其构造函数为私有类型,并且要实现静态方法getSQLBuilder(conn),根据不用的数据库类型,返回不同的实例。

第三章JAVA规范

3.1核心原则

1.软件工程化

2.面向对象

3.能简单不复杂

4.强调团队协作

3.2 命名规范

程序内的所有标识符(包括包名、类名、接口名、方法名、变量名)都应由字母、数字和下划线组成,并以字母开头;统一采用英文命名,用词应当准确,禁止使用中英文混合的方式命名,如果可能的话,尽量使用有意义的英文单词或多个单词的缩写命名(缩写应该是被广泛使用的缩写),做到见名知意;标识符的长度应当符合“min-length ? && ? max-information”原则;程序中不要出现仅靠大小写区分的相似的标识符;在使用英文字母起标识作用时要注意,尽量不使用“O”,“Z”,“I”等单个字符,以避免与数字“0”,“2”,“1”混淆。

3.2.1包、类和接口

1、所有包名全部小写,只能使用英文字母,不得使用数字和其他符号;

2、类名使用有意义的英文单词或单词的组合,每个单词的首字母大写,如果是实现接口的类,可酌情使用Imp结尾,英文单词一般为名词。

3、接口名使用有意义的名词和形容词的组合,每个单词的首字母大写,名称前不需要添加前缀“I”,英文字母i的大写。

3.2.2方法

方法命名使用动词或“动词+名词”的组合,名称的首字母小写,名称中其他词的首字母大写。对于取值的方法(getter method),加“get”作前缀;对于设置的方法(setter method),加“set”作前缀;对于布尔型的方法(boolean method),加“is”作前缀;用正确的反义词组命名具有互斥意义或相反动作的函数,例如getValue(),setValue()。

3.2.3变量

变量命名使用名词或名词“形容词+名词”的组合,名称的首字母小写,名称中其他词的首字母大写。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m 和n,它们一般用于整型;c,d,e,它们一般用于字符型。

用正确的反义词组命名具有互斥意义的变量,例如:int minValue和int maxValue。

尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。

命名应尽量使用匈牙利命名法,成员变量用长名字,参数和局部变量用短名字,一般由小写字母开头的单词组合而成。类成员变量前一般应加上m_,静态变量应加上s_,紧接着是变量的类型(只限于JDK内置类型)。临时变量应参照如下类似的格式书写,如ltmp ,tmpStr,tempStr等。

例如:m_nTotalNum,m_strPath,s_bRcving

3.2.4常量

常量(static final 变量)名字的每个字母都大写,并且指出完整含义,词与词之间用下划线分隔。

3.3 代码结构

代码组织要清晰,严格控制函数的长度和每行代码的长度,{,},(,),if,else,do,while,for,case等要对应整齐,缩进全部用Tab键(4个空格)。变量的定义要集中,函数间要有空行分开,一个程序中的空行数目最好占8%-16%。多态函数和功能相近的函数集中放在一起。代码应该简洁、清楚并讲述了所发生的一切,我们的目标应该是写出最清晰的代码,而不是最巧妙的代码。

有些不易理解的变量或函数应作注释,难懂的代码要有注解,在文件的开始处有该文件的用途描述。一定要保持注释的一致性。

代码的重用要仔细,删掉从来没有用过的函数或变量,大篇幅注释掉的代码行也应删除,以免使程序混乱难读。工程中不起作用的文件或类应删除,工程目录下的非工程文件也应该移走,保持工程的清洁,避免混淆难于管理。

3.3.1缩进

代码缩进是指通过在每行代码前键入空格或制表符的方式,表示每行代码之间的层次关系。任何编程语言都需要代码缩进规范程序的结构,采用代码缩进的编程风格有利于代码的阅读和理解。在本项目的开发中,统一采用TAB(4个空格)进行代码缩进。

在遇到有关类、结构、函数或过程、以及枚举等等复杂程序结构的定义的时候,我们通常需要将它的内容缩进一层。在C/C++/C#/Java 语言中,大括号是一个非常明显的标志,凡是遇到大括号,都应该直接联想

相关文档
最新文档