当前位置: 首页 > 图文教程 > 网络编程 > ASP > 学ASP应该注意ASP程序书写的规范

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

学ASP应该注意ASP程序书写的规范


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 95 ::
收藏到网摘: n/a

1       规范简介
本规范主要规定ASP源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使项目开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发记忆系统的维护。
2       一般格式规范
2.1       缩进
缩进就是在当源程序的级改变时为增加可读性而露出的两个空格。缩进的规则为每一级缩进四个空格。不准许使用Tab。因为Tab会因为用户所作的设置不同而产生不同的效果(如果习惯使用空格的话,可以在编辑器中设置将Tab换成四个空格)。当进入判断(If…Then、Select…End Select)、循环(For[ Each]…Next、While…Loop)、With语句、函数、过程、类声明的时侯增加一级, 当遇到退出判断、循环、with语句、函数、过程、类的时侯减少一级。例如:

iTemp=0

If (iTemp<> 100) Then
    iTemp = 100
End If

2.2       换行
换行就是在判断、循环、With语句的起始与结束时各加入一个换行。函数、过程、类的声明结束时,加入一个。换行是为了程序方便调试,可读性更强。
例1:

i=0

Do While (i<10)
    i = i + 1
Loop

Response.Write(i & “<br/>”)

例2:

Class class1
…..
End Class

Class class2
….
End Class

例3:

Function fun1()
….
End Function

Sub sub1()
….
End Sub

2.3       空格
在操作符及逻辑判断符号的两端添加空格,例如:

i = i + 1
a = a And b
sHTML = ”abc” & sHTML

但添加括号时不需要空格。例如:

If ( a > b ) Then ’错误的用法
If (a > b) Then ‘正确的用法

3       VBScript语法书写格式规范
3.1       保留字
  VBScript语言的保留字或关键词应全部使用第一个字母大写,其余字母小写的原则。另外也可采用全部小写的方式,主要为了方便输入源程序。
3.2       过程和函数
3.2.1       命名及格式
过程和函数的名称应全部使用有意义的英文单词组成,并且第一个单词全部小写,其它单词的第一个字母使用大写字母。如果只有一个单词,则第一个字母大写。例如:

Sub formatharddisk() ’不正确的命名
Sub formatHardDisk ‘正确的命名
Sub show() ‘不正确的命名
Sub Show() ‘正确的命名

设置变量内容的过程和函数,应使用set作为前缀,例如:

Sub setUserName

读取变量内容的过程和函数,应使用get作为前缀,例如:

Function getUserName

3.2.2       过程和函数的参数
首先所有参数名称必须是有意义的。参数命名采用同义的英文,可使用几个英文单词,但每一个单词的首字母必须大写。先说明参数的引用类型,如ByVal或ByRef。参数名前加前缀‘a_',后跟参数的类型(参见变量类型中的书写规范),必须小写,最后跟参数名,单词的第一个字母大写。例如:

Sub someProc(ByVal a_sUserName, ByVal a_iUserAge)

3.3       变量
3.3.1       变量命名及格式
首先所有变量必须起有意义的名字,使其它组员可以很容易读懂变量所代表的意义,变量命名采用同义的英文命名,可使用几个英文单词,但每一单词的首字母必须大写。另外还需在变量名中体现变量类型。例如:

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'。例如:

Class TUpload

End Class

类实例的名字通常是去掉‘T'。例如:

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       文件头
  在所有文件的头部应写上此文件的用途,作者,最后修改日期、用途。例如:

‘/**
‘*@ 作者:cjj
‘*@ 用途:上传文件
‘*@ 创建日期:2006-11-29
‘*@ 修改历史:
‘* cjj(修改人) 修改于 2006-11-30(修改日期) 为了解决…..(修改说明)。
‘* zs 修改于 2007-1-1 为了解决….
‘……..
‘*/

4       修改规范
本规则所做的规定仅适用于已经纳入配置管理的程序。在这类修改中,要求保留修改前的内容、并标识出修改和新增的内容。并在文件头加入修改人、修改日期、修改说明等必要的信息。
4.1       修改历史记录
  对源文件进行经过批准的修改时,修改者应在程序文件头加入修改历史项。在以后的每一次修改时,修改者都必须在该项目中填写下列信息:
4.2       新增代码行
新增代码行的前后应有注释行说明。

'(* cjj(修改人) 2006-10-11(修改时间) ….(修改说明)
……'(新增代码行)
'cjj 2006-10-11 *)

4.3       删除代码行
删除代码行的前后用注释行说明。

‘(*修改人 修改时间 修改说明
‘要删除的代码行(将要删除的语句进行注释)
‘修改人 修改时间 修改结束*)

4.4       修改代码行
修改代码行以删除代码行后在新增代码行的方式进行。

‘(*修改人 修改时间 修改说明
‘修改前的代码行 (注释掉修改前的代码行)
修改后的代码行)
‘修改人 修改时间 修改结束*)