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 & “<br/>”)

  例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:

  ‘(*修改人 修改时间 修改说明

  ‘修改前的代码行 (注释掉修改前的代码行)

  修改后的代码行)

  ‘修改人 修改时间 修改结束*)