软件开发规范(2)
4.4 数据库命名规范
数据库表命名均遵循以下规范:
模块名_存储信息名词(多个单词用下划线分隔),全部小写,例如:ebwebmail_message。
数据库字段命名遵循以下规范:
存储信息名词(多个单词用下划线分隔),全部小写,例如:message_id。
5 文档规范
1. 编写文档目前主要使用的工具是word(项目计划文档例外,需要使用project制作),辅助使用的工具有visio,powerpoint,erwin等。
2. 文档务必保持段落格式整齐,文字字体,颜色,大小统一。
3. 如果需要摘引html页面中的内容,不能直接从html中粘贴过来(会在word文档中留下html格式),而必须先去除格式,例如:先粘贴到notepad中。
4. 务必注意中英文标点符号,文档正文一概使用中文标点符号。
5. 如果需要在文档中插图,不要使用word自带的绘图工具。可以选择使用powerpoint或visio。使用powerpoint,选择“插入”->“对象”->“microsoft powerpoint 幻灯片”。使用visio,需要另外建立visio文档,绘制完以后粘贴到word中。
6. 数据建模使用erwin工具,文档中仅需要粘贴数据模型的逻辑视图(logical view),另外还要附上表结构描述。
7. 修改他人文档务必使用修订模式,以便保留备修改的内容。使用修订模式,选择“工具”->“修订”->“突出显示修订”,勾上“编辑时标记修订”。
附:一些模版
ü java类设计(class documentation)
声明:
描述:
属性:
1. property_name
声明
说明
方法:
1. method_name
声明
说明
参数
返回值
异常
注:
方法声明中,如果遇到重载的方法,可以使用“|”表示可以接受不同类型的参数,例如:“string value | int value”;可以使用“[]”表示可选的参数,例如:“object message[,throwable t]”
ü servlet设计(servlet document)
类名 接受参数列表 描述
ü 数据表设计(data modeling)
表名:some_table
说明:description
表结构:
字段名 类型 说明
6 代码规范
6.1 java源代码规范
6.1.1 命名
u package 的命名
package 的名字应该都是由一个小写单词组成,例如:net.ebseries.modules。
此外,对于包名我们做如下约定:
1. 工具函数类包名前缀为.util
2. servlet类包名前缀为.servlet
3. test case类包名前缀为.test
u class 的命名
class 的名字必须由大写字母开头而其他字母都小写的单词组成,例如:datafile或infoparser。
u class 变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头,例如:debug 或 inputfilesize。
u static final 变量的命名
static final 变量的名字应该都大写,并且指出完整含义,例如:max_upload_file_size=1024。
u 参数的命名
参数的名字必须和变量的命名规范一致。
u 数组的命名
数组应该总是用下面的方式来命名:
byte[] buffer;
而不是:
byte buffer[];
u 方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
setcounter(int size)
{
this.size = size;
}
6.1.2 代码格式
u 文件头声明
源文件的头部需要一个history段,对于每次对源文件的重大改动,都需要在history段中注明。该段定义在package和import之间,例如:
/*****************************************************
* history
*
* 2002/01/29 biz 创建文件
*
* 2002/02/19 kevin 增加新功能
*
*******************************************************/
u import顺序
import包按一下顺序:
1. jdk标准包
2. java扩展包(例如servlet,javamail,jce等)
3. 使用的外部库的包(例如xml parser)
4. 使用的项目的公共包
5. 使用的模块的其他包
每一类import后面加一个换行。
例如:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.mail.*;
import org.apache.xml.*;
import net.ebseries.*;
import net.ebseries.util.*;
import net.ebseries.ebwebmail.*;
(未完待续)
闽公网安备 35060202000074号