来源:www.cncfan.com | 2006-1-10 | (有2836人读过)
内容如下: 一、 常量、变量、对象和过程命名约定 二、 代码注释约定 三、 文本格式和缩近约定 四、 其它约定
一、 常量、变量、对象和过程命名约定 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) 每一行最多只写一条语句
|