内容如下:
一、 常量、变量、对象和过程命名约定
二、 代码注释约定
三、 文本格式和缩近约定
四、 其它约定
一、 常量、变量、对象和过程命名约定
1. 常、变量命名约定
a) 常、变量的名字应由能表示常、变量内容的单词组成,每个单词的首字母要大写
b) 常、变量的名字前要加上表示常、变量数据类型的前缀
c) 如果常、变量是数组,要在数据类型的前缀前再加上“a”;
如果数组中各元素包含的数据类型不一致,则该常、变量数据类型的前缀应写为“vnt”
d) 常量的名字前还要加上前缀“con_-”
e) 如果是脚本级常、变量,要在常、变量的名字的最前面加上前缀“s_-”
例:一个过程级的常量,表示系统允许的最大用户数,可以命名如下,
con_intSystemMaxUser
例:一个过程级的数组常量,存储产品供应商的名称,可以命名如下,
con_astrSupplier
例:一个脚本级的常量,表示当前使用本系统的公司或个人的名称,可以命名如下,
s_con_strSystemOwner
例:一个过程级的变量,表示用户输入的数据是否合法,可以命名如下,
blnValidInput
例:一个过程级的数组变量,存储可能用到的各种类型的数据,可以命名如下,
avntTemp
例:一个脚本级的变量,表示数据分页显示中的当前页号,可以命名如下,
s_intCurPageNo
附:数据类型前缀表
数据类型 数据内容描述 对应的前缀 举例
Array 数组 a astrCustomer
Boolean True或False bln blnFound
Byte 0至255的整数 byt bytUserCnt
Currency -922, 337, 203, 685, 477.5808至922, 337, 203, 685, 477.5807的数字 cur curMyAccount
Date (Time) 表示公元100年1月1日和公元9999年12月31日之间的一个日期的数字 dtm dtmStartDate
Double 双精度浮点数1. 对于负数,范围从-1.79769313486232E308至-4.94065645841247E-3242. 对于正数,范围从4.94065645841247E-324至1.79769313486232E308 dbl dblTolerance
Empty 表示定义量未初始化对于数字量,默认值为0对于字符串量,默认值为”” / /
Error 一个错误号码 err errOrderNum
Integer -32, 768至32, 767的整数 int intQstCnt
Long -2, 147, 483, 648至2, 147, 483, 647的整数 lng lngUserID
Null 表示没有合法的数据 / /
Object 对象 obj objFSO
Single 单精度浮点数1. 对于负数,范围从-3.402823E38至-1.401298E-452. 对于正数,范围从1.401298E-45至3.402823E38 sng sngChange
String 可能包含0至近20亿个字符的字符串 str strUserName
Variant 表示数据是变体型的 vnt vntReturnvalue
2. 对象命名约定
a) 对象的名字应由能表示对象内容的单词组成,每个单词的首字母要大写
b) 对象的名字前要加上表示对象类型的前缀
c) 如果是脚本级对象,要在对象的名字的最前面加上前缀“s_-”
例:一个过程级的ADO记录集对象,包含用户基本信息记录,可以命名如下,
rstUserInfo
例:一个脚本级的ADO连接对象,保存与Sentin公司的数据库的连接,可以命名如下,
s_cnnSentin
附:对象类型前缀表
对象类型 对象描述 对应的前缀 举例
ADOConnection ADO 连接对象 cnn cnnSentin
ADOCommand ADO 命令对象 cmd cmdSentin
ADORecordset ADO 数据集对象 rst rstProducts
3. 过程命名约定
a) 过程的名字应由能表示过程所执行的操作的单词组成,每个单词的首字母要大写
b) 过程的名字应该以动词开头
例:一个子过程,用来初始化聊天内容数组,可以命名如下,
InitChatArray
例:一个函数,用来将Empty或Null值转化成HTML中的空格( ),可以命名如下,
TransEmptyToSpace
4. 常量、变量、对象和过程命名共同遵守的约定
a) 名字尽量不要超过32个字符
b) 如果名字中包含常用或较长的单词,可以使用缩写
f) 如果名字中某单词使用了缩写,应保证所有脚本中该单词都使用缩写且缩写形式不变
二、 代码注释约定
a) 每个过程都应在其上部写一段简明的注释(头部注释),用来说明过程的功能(注:这段注释用来对过程的功能进行概述,而不是用来说明过程功能的具体实现细节的。过程功能的具体实现细节由过程内部注释来说明)。头部注释包含以下内容,
过程头部注释说明表
注释分段 注释内容
过程名称 子过程或函数的名称
过程功能 子过程或函数功能的概述
传入参数 对传入参数的说明。应注意1. 每个参数使用单独的一行来说明2. 说明内容可能包括参数的含义、取值范围、每个可能取值的含义
返回结果 如果该过程是函数,在此说明函数的返回结果
其他说明 关于该过程的其他说明
例:一个子过程,用来初始化聊天内容数组,它的头部注释可能如下,
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
''过程名称: InitChatArray
''过程功能: 初始化聊天内容数组
''传入参数: 1.SenPartCnt - 一句话的组成部分数目
'' 2.MaxSenCnt - 一次最多保存的句子数目
''返回结果: 无
''其他说明: 无
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
例:一个函数,用来将Empty或Null值转化成HTML中的空格( ),它的头部注释可能如下,
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
''过程名称: TransEmptyToSpace
''过程功能: 将Empty或Null值转化成HTML中的空格( )并返回
'' 如果要转化的值不是Empty或Null,就返回其原值
''传入参数: 1. StringToTrans - 要转化的字符串
''返回结果: 转化后的字符串
''其他说明: 主要用在将记录集中的字段值显示在页面中的表格时,
'' 防止因Empty或Null值而使表格的某个单元格不显示边框
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
b) 对于全部或重要的常量、变量和对象声明都应该有内部注释
例:以下是一些常见的声明注释,
Dim s_cnnSentin
Dim s_rstUserInfo
Dim s_strSql
''=======================================
'' s_cnnSentin : 与Sentin公司的数据库的连接
'' s_rstUserInfo : 用户信息记录集
'' s_strSql : SQL命令字符串
''=======================================
c) 对于重要的、功能/目的不明确的或易引起混淆的语句也要加以注释
例:以下是一些常见的语句注释,
''删除指定的用户纪录
''+++++++++++++++++++++++++++++++++++++++++++++++++++++++
:
:
''获取要删除的用户纪录ID
''-----------------------------------------------
:
s_strUserToDel = Request.Form(“chkUser”)
:
''根据给定的用户纪录ID,删除用户纪录
''-----------------------------------------------
:
s_cnnSentin.Execute “DELETE FROM UserInfo WHERE ID IN (” & strUserToDel & “)”
:
d) 一个完整的代码注释的例子
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
''过程名称: TransEmptyToSpace
''过程功能: 将Empty或Null值转化成HTML中的空格( )并返回
'' 如果要转化的值不是Empty或Null,就返回其原值
''传入参数: 1. StringToTrans - 要转化的字符串
''返回结果: 转化后的字符串
''其他说明: 主要用在将记录集中的字段值显示在页面中的表格时,
'' 防止因Empty或Null值而使表格的某个单元格不显示边框
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function TransEmptyToSpace(StringToTrans)
Dim strToTrans
''=======================================
'' strToTrans : 要转化的字符串
''=======================================
strToTrans = StringToTrans
''如果要转化的值是Empty或Null,将其转化成HTML中的空格
''-----------------------------------------------------------------------------
If IsEmpty(strToTrans) = True Or IsNull(strToTrans) = True Then
TransEmptyToSpace = “ ”
Exit Function
End If
''如果要转化的值不是Empty或Null,就返回其原值
''-----------------------------------------------------------------------------
TransEmptyToSpace = strToTrans
End Function
三、 文本格式和缩近约定
a) 标准缩近距离为4个空格
b) 下级语句应相当于上级语句缩近1标准距离
四、 其它约定
a) 所有代码中用到的对象必须显式地销毁
例: 销毁ADO对象
Dim s_cnnSentin
Dim s_rstUserInfo
Set s_cnnSentin = Server.CreateObject(“ADODB.Connection”)
Set s_rstUserInfo = Server.CreateObject(“ADODB.Recordset”)
:
s_rstUserInfo.Close
s_cnnSentin.Close
Set s_rstUserInfo = Nothing
Set s_cnnSentin = Nothing
例: 销毁FSO对象
Dim s_objFSO
Dim s_filTest
Set s_objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set s_filTest = s_objFSO.CreateTextFile("C:\Ray.txt", True)
s_filTest.WriteLine("This is a test.")
s_filTest.Close
Set s_filTest = Nothing
Set s_objFSO = Nothing
b) 每一个常量、变量、数组或对象的声明都必须使用单独的一行
c) 每一行最多只写一条语句