当前位置:文档之家› 项目开发及编码规范

项目开发及编码规范

项目开发规范文档修订历史记录1.简介目的1、用于规范指导开发组进行开发2、便于成员间的沟通与交流。

3、有助于项目质量和稳定。

4、为后期维护提供支持2. 项目开发流程项目开发过程归纳分为以下步骤:1. 建立SVN项目版本控制。

包括文档,源码,Lib包等。

2. 了解需求,并对需求文档的书写。

(见文档结构规则附录)。

3. 详细设计文档。

(见文档结构规则附录)。

功能模块设计,重要模块的算法设计。

数据库设计等。

根据需求定义开发平台及环境。

4. 编码。

搭建开发平台,配置开发环境。

编码。

单元测试案例。

5. 书写软件安装手册文件,数据库脚本文件,以及注意事项(release notes)。

6. 交互测试组测试。

根据测试组测试结果是否回归第4步(测试回归最好不要超过2次)。

7. 测试通过,交付上线使用。

维护手册使用手册3. 代码规范Java 代码规范3.1.1 Java类名类名可由:英文字母,数字,下划线组成。

(数字,下划线不能够开头)类名由一个或者多个单词组成。

单词通常要求简洁明了达意。

能够通过类名能够大致了解此类的作用和用途。

类名要求首字母大写,多个单词组成类名时,单词的首字母要求大写。

建议:类名不要过于简单或者太长。

可以对单词采用简化的名称:入: Number 简化为:num 。

3.1.2 Java类结构类仅作为数据结构,没有行为,他封装了一组或者相似的一些行为方法。

所以一个类尽量功能单一,或者功能类似共有行为的。

一个类不要过于庞大。

通常情况下:一般逻辑类中应该有构造方法和main方法,main方法中应该有测试代码。

每个类应该有 toString() 方法。

3.1.2.1 包和引入语句在多数Java源文件中,第一个非注释行是包语句。

在它之后可以跟引入语句。

报名的定义全部是小写字母。

具体定义依据项目而定。

引入包时候,同一类型的归纳到一块,用空行隔开。

例如:import 3.1.2 类注释Java类开头应该有相应的注释:类版本描述,作者签名,日期时间,公司备注,类的功能作用相关描述等。

(详细查看:注释)3.1.2.2 类成员变量a) 类变量要求放在类的开始声明。

一行声明一个。

b) 变量名称首字母要求小写。

其他命名规则类似与类名。

c) static , final 类型的变量,字母要求全部大写。

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

e) 避免局部变量和成员变量同名,覆盖了成员变量。

f) 尽量变量私有化,缩小变量的作用域。

3.1.2.3 类成员方法a) 方法名命名规则类似于成员变量命名规则。

b) 成员方法尽量私有化。

d) 方法与方法之间空一行分割,提高可读性。

c) 方法尽可能有注释:(详细查看:注释)e) 方法尽可能尽早返回,结束。

3.1.3 Java语句3.1.3.1 缩进排版a) 4个空格(一个Tab建)常被作为缩进排版的一个单位。

子模块应该和父模块保持一个缩进单位。

b) 尽量避免一行的长度超过80个字符.c) 换行:当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:- 在一个逗号后面断开- 在一个操作符前面断开- 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开- 新的一行应该与上一行同一级别表达式的开头处对齐- 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格。

如:someMethod(longExpression1, longExpression2, longExpression3,longExpression4, longExpression5);var = someMethod1(longExpression1,someMethod2(longExpression2,longExpression3));3.1.3.2 注释Java程序有两类注释:实现注释(implementation comments)和文档注释(document comments)。

实现注释是使用/*...*/和.*/界定。

文档注释可以通过javadoc工具转换成HTML 文件。

实现注释用以描述实现的细节,流程,和难点的描述。

良好的实现注释有助于自己和别人易于读懂代码。

文档注释它可以被那些手头没有源码的开发人员了解接口功能等。

频繁的注释有时反映出代码的低质量。

当你觉得被迫要加注释的时候,考虑一下是否可以重新设计该模块的代码结构或者逻辑,使其更清晰,而避免使用注释提醒该模块的实现,这样往往都能够提高代码质量。

注释应被用来给出代码的总括,良好的代码里应该有大量的注释。

当然也要避免代码已经提供清晰明了,显而易见注释。

注释的格式:程序可以有4种实现注释的风格:块、单行、尾端和行末。

分别由:/** notice */ 块/* notice */ 单行/* notice */ 尾端3.1.3.3 语句示例:a) 简单语句每行至多包含一条语句,例如:argv++; .}注意:空格不应该置于方法名与其左括号之间。

这将有助于区分关键字和方法调用。

- 空白应该位于参数列表中逗号的后面- 所有的二元运算符,除了".",应该使用空格将之与操作数分开。

一元操作符和操作数之间不因该加空格,比如:负号("-")、自增("++")和自减("--")。

例如:a += c + d;a = (a + b) / (c * d);while (d++ = s++) {n++;}printSize("size is " + foo + "\n");- for语句中的表达式应该被空格分开,例如:for (expr1; expr2; expr3)- 强制转型后应该跟一个空格,例如:myMethod((byte) aNum, (Object) x);myMethod((int) (cp + 5), ((int) (i + 3)) + 1);Jsp, JavaScript 代码规范3.2.1 Jsp文件Jsp文件命名,首字母要求小写,名称可以用多个单词组成。

每个单词组合时候首字母大写。

建议:列表页面为:表单展示页面为:表单修改页面为:Jsp文件的内容编码格式和文件本身的编码格式要求统一。

具体视项目要求。

页面尽量使用同一种标签表达,比如只使用struts标签,或者JSTL标签。

3.2.2 JavaScript文件JavaScript脚本尽量建立独立的以”js”为后缀的独立文本文件。

页面单独应用js 文件即可。

文件命名与jsp文件相同。

文件本身的编码格式需要和整个项目文件编码一致。

一个js文件包含一个或者多个function函数。

数据库对象定义规范3.3.1表名命名规则数据库表的命名以是名词的复数形式且都为大写,如ACCOUNT,INDICATOR_HISTORY 等等如果表名由几个单词组成,则单词间用下划线("_")分割,如 CURRENT_COUNTER 等表名尽量用全名表名限制在30个字符内。

当表的全名超过30字符时,可用缩写来减少表名的长度,如description --> desc;information --> info;address --> addr等(oracle 限制表名超过30个字符)3.3.2表字段名命名规则字段名为小写字段名为有意义的单词,或单词的缩写如果字段由几个单词组成,则单词间用下划线("_")分割,如client_id,post_code等字段名限制在30个字符内。

当字段名超过30字符时,可用缩写来减少字段名的长度,如description --> desc;information --> info;address --> addr等3.3.3 索引命名规则索引须按照IDX_table_<column>_<column>,其中<table>是建立索引的表名,<column>是建立索引的字段名索引名限制在30个字符内。

当索引名超过30字符时,可用缩写来减少索引名的长度,如description --> desc;information --> info;address --> addr等3.3.4主建、外键命名规则主键按照PK_<table>的规则命名,其中<table>为数据库表名唯一键按照UK_<table>_<column>的规则命名,其中<table>为数据块表名,<column>为字段名外键按照FK_<pppp>_<cccc>_<nn>的规则命名,其中<pppp>为父表名,<cccc>为子表名,<nn>为序列号Java命名规则命名规范使程序更易读,从而更易于理解。

它们也可以提供一些有关标识符功能的信息,以标识符类型命名规则例子前提* 尽量使用完整的英文描述符,采用适用于该领域的术语* 采用大小写混合使名字可读* 尽量少用缩写,但如也可以使用公共常用的缩略语,如: HTML, IO。

* 避免使用长的名字(小于 15 个字母是个好主意)* 避免使用类似的名字,或者仅仅是大小写不同的名字、包(Packages)一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org。

包名的后续部分根据不同机构各自内部的命名规范而不尽相同。

这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names)。

类(Classes)命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。

尽量使你的类名简洁而富于描述。

使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)class Raster;class ImageSprite;接口(Interfaces)命名规则:大小写规则与类名相似interfaceRasterDelegate;interface Storing;方法(Methods)方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。

run();runFast();getBackground();变量(Variables)除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后char c;int i;float myWidth;4. 开发平台及工具。

相关主题