一、 目录结构
目录结构的命名规则以英文字母或拼音缩写作为目录名。写明每个目录下建立一个Readme.doc的Word文件,写明该目录下文件的情况,包含文件名、主要说明或用途、修改人及修改时间。
1. 第一层排放系统管理目录、源程序目录、文档目录、SQL脚本目录、公用资源目录、源程序备份目录,源程序目录下存放动态脚本及主页页面,文档目录下存放项目相关文档,SQL脚本目录下存放项目相关SQL脚本,公用资源目录下存放项目相关的PSD文件、动画文件的公用资源,目录命名为:
◆ 系统管理目录:00_System
◆ 源程序目录:01_Source
▲ 静态网页
▲ 动态脚本
◎ 公用脚本目录:01_Public
◎ 图形目录:02_Img
◎ 子系统目录1:03_XXXX
◎ 子系统目录2:04_XXXX
◎ .
◎ .
◎ .
◆ 文档目录:02_Document
◆ SQL脚本目录:03_SQL
◆ 公用资源目录:04_Resource
▲ PSD文件目录:05_PSD
▲ Flash动画文件目录:02_FLA
◆ 源程序备份目录:05_BAK
2. 系统管理目录存放系统维护程序的源代码及目标代码;
3. 文档目录(02_Document)下必须包含存放网站的设计方案、调研报告、动态网页的详细设计、安装说明、系统维护程序使用说明、网页文件组织说明及相关的资料等;
4. 源程序备份目录:按源程序目录结构存放需备份的文件。
5. 源程序目录(01_Source)下子目录结构分成两个大的部分,将静态网页及动态网页分开存放,动态脚本尽可能少的直接嵌入静态网页中,若有必要则以函数的形式组织脚本,在静态网页中选择插入点调用该函数。在动态网页脚本中的静态部分,可以html文件的形式存放,在动态脚本中将其包含进来。
6. 公用脚本目录(01_Public)下存放动态脚本的一些公共的脚本源码,例如连接数据库脚本、自定义的公共函数、CSS文件、公用的Javascript脚本。各子系统目录名以拼音的方式命名。
7. 备份文件:将日后有可能要用的文件在注释中标明日期等信息,转移至备份目录。
8. 及时删除无用的文件;
9. 网页文件组织说明:网站文件的组织结构关系。
二、 文件规范
1. 公用脚本依据功能用途建立脚本文件,为避免因脚本文件过大而影响脚本的解析速度,控制脚本的文件大小。
2. 脚本中的文件头及自定义函数、过程等的程序头参照附录的规范建立注释,包括代码用途、传入参数、传出参数、修改记录。
3. 动态脚本中Html的控件名称命名使用该空间类型的全称 + 控件含义。
4. 变量的命名参照附录规范。
5. 函数的命名参照附录规范。
6. 脚本语句格式空格为3格。
7. 在运算符号或=的左右应用空格将运算符号或=与变量或表达式区分开来。例如:$strTmp = $Text + $strTmp。写链接时除外;
8. 年份、月份及日期的输入方式为下拉框选择方式。
9. 脚本中的注释根据不同的开发工具具体再定。
附录: 编程规范
◆ 每个页面的页面总体注释必须有,示例如下:
// =================================================================
// 代码描述: 从数据库中取得查询数据,分页显示
//
// 入口参数: 无
//
// 返回结果: 查询数据
//
// 修改记录: 姓名 日期 内容
//
// =================================================================
◆ 函数
▲ 函数名定义:
¨ 全局函数(Global Function):g_f_ + 函数名称(使用英文表达含义,如有多单词用'_'隔开,每个单词的第一个字母应大写)。
¨ 外部函数(Extend Function):遵循原有名称。
¨ 窗体函数(Window Function):w_f_ + 函数名称(使用英文表达含义,如有多单词用'_'隔开,每个单词的第一个字母应大写)。
▲ 参变量定义,遵循脚本中局域变量定义要求。
◆ 脚本
▲ 变量定义:
¨ 全局变量(Global Variables):g_ + 变量类型的第一个字母(如:String类型为s) + 变量名称(使用英文表达含义,如有多单词用'_'隔开,每个单词的第一个字母应大写)。
¨ 实例变量(Instance Variables):i_ + 变量类型的第一个字母(如:String类型为s) + 变量名称(使用英文表达含义,如有多单词用'_'隔开,每个单词的第一个字母应大写)。
¨ 局域变量:变量类型(简写) + 变量名称(使用英文表达含义,如有多单词不用'_'隔开,但每个单词的第一个字母应大写)。例如:String 类型 strTmp, Integer 类型 intRowNO。
▲ 保留字及SQL保留字应按原书写方法,首字母大写的原则(如:If....Else....End If)。
▲ 所有的嵌入的ASP脚本全部靠在左端,脚本和嵌入符之间空一行。
HTML CODE HTML CODE HTML CODE HTML CODE <%
'空一行
ASP Statements...
If Condition Then
ASP Statements...
End If
ASP Statements...
'空一行
%> HTML CODE HTML CODE HTML CODE HTML CODE
▲ 所有条件语句、循环语句的程序体应缩进。
▲ 上一语句未完,用'&'延续的部分缩进。
▲ 通过Tab键缩进,杜绝使用空格缩进,以免照成在Tab数不同的环境下缩进紊乱。
▲ 在运算符号或=的左右应用空格将运算符号或=与变量或表达式区分开来。例如:strTmp = edit_1.Text + strTmp。
▲ 在,后加空格。例如:SELECT Department_NO, Department_Name FROM ....。
▲ 在脚本语句、流程、函数、类前应加注释,说明该语句或流程实现功能。
◆ 其余
▲ 遵循程序文件的目录存放结构。
▲ 尽量不在数据库端编写触发器来自动插入序列号,可在程序脚本(尽量在保存事件而不是新增事件)中写代码取序列号。
▲ 所有数据库的视图、过程、函数等应各自形成.SQL文件,文件名为本身对象的名字,如RS_V_.../SB_P_.../YX_F_...等。附属不单独使用的视图可放在主视图的.SQL文件中。
▲ 触发子与序列号结合使用时可合并在同一.SQL语句中,以触发子名字命名。
▲ 所有数据库的授权应每个子系统形成一个文件,名为Grant.SQL。
◆ 该规范为试行规范,在遵循过程中如有意见可向项目经理提出,对于小范围的违反项目经理可根据实际情况酌情予以审定,大规模的变动需向公司提出,由公司同意后执行。
◆ 对于试行版的修改,公司将以最快速度通知各项目组。