rustysun同学ASP代码书写规范 ASP源程序书写规范 1 规范简介   本规范主要规定ASP源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使项目开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发记忆系统的维护。 2 一般格式规范 2.1 缩进 缩进就是在当源程序的级改变时为增加可读性而露出的两个空格。缩进的规则为每一级缩进四个空格。不准许使用Tab。因为Tab会因为用户所作的设置不同而产生不同的效果(如果习惯使用空格的话,可以在编辑器中设置将Tab换成四个空格)。当进入判断(If…Then、Select…End Select)、循环(For[ Each]…Next、While…Loop)、With语句、函数、过程、类声明的时侯增加一级, 当遇到退出判断、循环、with语句、函数、过程、类的时侯减少一级。例如: CODE: iTemp=0 If (iTemp<> 100) Then iTemp = 100 End If 2.2 换行 换行就是在判断、循环、With语句的起始与结束时各加入一个换行。函数、过程、类的声明结束时,加入一个。换行是为了程序方便调试,可读性更强。 例1: CODE: i=0 Do While (i<10) i = i + 1 Loop Response.Write(i & “
”) 例2: CODE: Class class1 ….. End Class Class class2 …. End Class 例3: CODE: Function fun1() …. End Function Sub sub1() …. End Sub 2.3 空格 在操作符及逻辑判断符号的两端添加空格,例如: CODE: i = i + 1 a = a And b sHTML = ”abc” & sHTML 但添加括号时不需要空格。例如: CODE: If ( a > b ) Then '错误的用法 If (a > b) Then ‘正确的用法 3 VBScript语法书写格式规范 3.1 保留字   VBScript语言的保留字或关键词应全部使用第一个字母大写,其余字母小写的原则(推荐)。另外也可采用全部小写的方式,主要为了方便输入源程序。 3.2 过程和函数 3.2.1 命名及格式 过程和函数的名称应全部使用有意义的英文单词组成,并且第一个单词全部小写,其它单词的第一个字母使用大写字母。如果只有一个单词,则第一个字母大写。例如: CODE: Sub formatharddisk() '不正确的命名 Sub formatHardDisk ‘正确的命名 Sub show() ‘不正确的命名 Sub Show() ‘正确的命名 设置变量内容的过程和函数,应使用set作为前缀,例如: CODE: Sub setUserName 读取变量内容的过程和函数,应使用get作为前缀,例如: CODE: Function getUserName 3.2.2 过程和函数的参数   首先所有参数名称必须是有意义的。参数命名采用同义的英文,可使用几个英文单词,但每一个单词的首字母必须大写。先说明参数的引用类型,如ByVal或ByRef。参数名前加前缀‘a_',后跟参数的类型(参见变量类型中的书写规范),必须小写,最后跟参数名,单词的第一个字母大写。例如: CODE: Sub someProc(ByVal a_sUserName, ByVal a_iUserAge) 3.3 变量 3.3.1 变量命名及格式 首先所有变量必须起有意义的名字,使其它组员可以很容易读懂变量所代表的意义,变量命名采用同义的英文命名,可使用几个英文单词,但每一单词的首字母必须大写。另外还需在变量名中体现变量类型。例如: CODE: Dim sWriteFormat ‘s表示String类型的变量 3.3.2 变量类型   虽然在ASP中不须要声明变量类型,它只有一个Variant型。但为了方便源程序的阅读,我们决定为变量加上类型描述前缀。对于一些特定类型可采用一定的简写如下: 变量类型 简写 整型(Integer) i 短整型(Short Integer) sh 长整型(Long Integer) l 单精度型(Single) sn 双精度型(Double) db 字节型(Byte) by 字符型(Char) c 字符串型(String) s 二进制型(Binary) bn 布尔型(Boolean) b 日期时间型(DateTime) d 数组型(Array) a 象型(Object) o   循环控制变量通常使用单一的字符如:i, j, k。 另外使用一个有意义的名字,如iUserIndex ,也是准许的。 3.3.3 全局变量(Global Variables)   尽量不使用全局变量,如必须使用全局变量则必须加前缀‘gbl_',同时应在变量名称中体现变量的类型。 3.3.4 类级变量(Class Variables)   类级变量主要是指在Class中,对整个Class内部所有的属性和方法都起作用的变量。在使用时必须加前缀'cls_',同时在变量名称中体现变量的类型。   例如:cls_iFileName 3.4 类(Class)   类的名字必须有意义并且名字之前要加前缀‘T'。例如: CODE: Class TUpload … End Class 类实例的名字通常是去掉‘T'。例如: CODE: Dim oUpload : oUpload=new TUpload 3.5 表单(Form) 3.5.1 命名标准 表单及表单项命名应该有意义,并且使用类型简写作为前缀。类型及简写如下表: 类型 简写 表单(Form) frm 文本框(TextBox,包括密码框和多行文本框) txt 复选框(CheckBox) chk 单选框(Radio) rdo 按钮(Button) btn 下拉框(Select) slt 3.6 文件 3.6.1 目录结构   程序主目录--Web(应用程序所在路径)   -DB(本地数据库所在路径)   -Doc(文档所在路径)   -Help(帮助文件所在路径)   -Backup(备份路径)   -Temp(临时文件路径) 3.6.2 文件命名    文件必须使用一个有意义的名字。例如:系统中一个录入用户资料表单的文件名为frmAddUser.asp,向数据库中录入用户资料的文件名为addUser.asp。 3.6.3 文件头   在所有文件的头部应写上此文件的用途,作者,最后修改日期、用途。例如: CODE: ‘/** ‘*@ 作者:cjj ‘*@ 用途:上传文件 ‘*@ 创建日期:2006-11-29 ‘*@ 修改历史: ‘* cjj(修改人) 修改于 2006-11-30(修改日期) 为了解决…..(修改说明)。 ‘* zs 修改于 2007-1-1 为了解决…. ‘…….. ‘*/ 4 修改规范   本规则所做的规定仅适用于已经纳入配置管理的程序。在这类修改中,要求保留修改前的内容、并标识出修改和新增的内容。并在文件头加入修改人、修改日期、修改说明等必要的信息。 4.1 修改历史记录   对源文件进行经过批准的修改时,修改者应在程序文件头加入修改历史项。在以后的每一次修改时,修改者都必须在该项目中填写下列信息: 4.2 新增代码行   新增代码行的前后应有注释行说明。 CODE: '(* cjj(修改人) 2006-10-11(修改时间) ….(修改说明) ……'(新增代码行) 'cjj 2006-10-11 *) 4.3 删除代码行 删除代码行的前后用注释行说明。 CODE: ‘(*修改人 修改时间 修改说明 ‘要删除的代码行(将要删除的语句进行注释) ‘修改人 修改时间 修改结束*) 4.4 修改代码行 修改代码行以删除代码行后在新增代码行的方式进行。 CODE: ‘(*修改人 修改时间 修改说明 ‘修改前的代码行 (注释掉修改前的代码行) 修改后的代码行) ‘修改人 修改时间 修改结束*)