程序设计规范
时间:2007-02-17 来源:PHP爱好者
程 序 设 计 规 范
1. 文件夹与文件的命名规则
1.1 文件夹命名
① 根据系统设计所规定的结构,建立相应的文件夹,根据需要建立子文件夹
② 文件夹的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字
③ 文件夹名称的必须全部使用小写字母 (如 “ /example ” )
1.2 文件命名
① 文件的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字
② 文件名称全部使用小写字母(确保平台兼容)
③ 文件名称一般采用”xxx_yyy.ext”格式,xxx(3-4个字母)表示分类,yyy(字母数自定)表示操作 (如 “ /example/exp_edit.htm ”)
2. 程序书写规则
2.1 变量命名
所有变量必须能够反映变量的作用,采用如下命名规则:
⑴ 常数命名约定
用 Const 语句创建真正的常数。这个约定使用大小写混合的格式,并以“con”作为常数名的前缀。例如:
conYourOwnConstant
⑵ 变量命名约定
出于易读和一致性的目的,请在 VBscript 代码中使用以下变量命名约定:
类型
前缀
示例
Boolean
Bln
blnFound
Byte
byt
bytRasterData
Date (Time)
dtm
dtmStart
Double
dbl
dblTolerance
Error
err
errOrderNum
Integer
int
intQuantity
Long
lng
lngDistance
Object
obj
objCurrent
Single
sng
SngAverage
String
str
strFirstName
⑶ 变量作用域前缀
随着 script 代码长度的增加,有必要快速区分变量的作用域。在类型前缀前面添加一个单字符前缀可以实现这一点,而不致使变量名过长。
作用域
前缀
示例
过程级
无
dblVelocity
script级
s
sblnCalcInProgress
全程级
g
gblnCalcInProgress
⑷ 描述性变量名和过程名
变量名或过程名的主体应使用大小写混合格式,并且尽量完整地描述其目的。另外,过程名应以动词开始,例如 InitNameArray 或 CloseDialog。对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度内。通常多于 32 个字符的变量名会变得难以阅读。使用缩写时,应确保在整个 script 中保持一致。
对象命名约定,下表列出了 VBscript 中可能用到的对象命名约定(推荐):
对象类型
前缀
示例
文本框
txt
txtLastName
列表框
lin
linVertical
复选框
chk
chkReadOnly
组合框、
下拉列表框
cbo
cboEnglish
标签
lbl
lblHelpMessage
命令按钮
cmd
cmdExit
框架
fra
fraLanguage
图像
img
imgIcon
直线
lst
lstPolicyCodes
公共对话框
dlg
dlgFileOpen
水平滚动条
Hsb
hsbVolume
垂直滚动条
vsb
vsbRate
⑸ 代码注释约定
所有过程的开始部分都应有描述其功能的简要注释。当传递给过程的参数的用途不明显,或过程对参数的取值范围有要求时,应加以说明。如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。
过程开始部分的注释应包含以下区段标题。相关样例,请参阅后面的“格式化代码”部分。
区段标题 注释内容
目的 过程的功能(不是实现功能的方法)。
假设 其状态影响此过程的外部变量、控件或其他元素的列表。
效果 过程对每个外部变量、控件或其他元素的影响效果的列表。
输入 每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。
返回 返回值的解释。
请记住以下几点:
每个重要的变量声明都应有内部注释,描述变量的用途。
应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。
应在 script 的开始部分包含描述该 script 的概述,列举对象、过程、运算法则、对话框和其他系统从属物。有时一段描述运算法则的假码是很有用的。
格式化代码
应尽可能多地保留屏幕空间,但仍允许用代码格式反映逻辑结构和嵌套。以下为几点提示:
标准嵌套块应缩进 4 个空格。
过程的概述注释应缩进 1 个空格。
概述注释后的最高层语句应缩进 4 个空格,每一层嵌套块再缩进 4 个空格。例如:
'*********************************************************
' 目的: 返回指定用户在 UserList 数组中第一次出现的位置。
' 输入: strUserList(): 所查找的用户列表。
' strTargetUser: 要查找的用户名。
' 返回: strTargetUser 在 strUserList 数组中第一次出现时的索引。
' 如果目标用户未找到,返回 -1。
' 日期: Designed by MS 2000/9/12
'*********************************************************
Function intFindUser (strUserList(), strTargetUser)
Dim i ' 循环计数器。
Dim blnFound ' 发现目标的标记。
intFindUser = -1
i = 0 ' 初始化循环计数器。
Do While i <= Ubound(strUserList) and Not blnFound
If strUserList(i) = strTargetUser Then
blnFound = True ' 标记设为 True。
intFindUser = i ' 返回值设为循环计数器。
End If
i = i + 1 ' 循环计数器加 1。
Loop
End Function
2.2 公用函数库
① 所有公用函数文件均放在“ /include ”目录下,统一管理,并作适当归类和调整
② 所有公用函数必须在函数前以注释方式书写函数作用,参数定义和返回值,例如:
2.4 注释
① 注释尽量使用中文
② 每个程序开始部分必须有以下注释:
程序名称、程序描述、实现功能、设计人员、设计日期
③ 程序代码部分必须有足够的代码片段的注释,表达清楚该程序片段的编写意图和实现原理
2.5 程序结构
① 程序代码中要有足够的容错处理功能
② 报表程序与查询程序应该具有灵活性,尽量提供给用户足够的选择
③ 程序代码结构必须层次清楚,适当使用空行分段
3. 界面设计规则
1. 界面设计尽量美观、实用、统一
2. 界面设计应尽量参考美工的建议
4. 测试规则
1. 程序编写完成后,应进行必要的测试。
2. 测试用例要覆盖各功能模块。
php爱好者站 http://www.phpfans.net c/vc/c++/java.
1. 文件夹与文件的命名规则
1.1 文件夹命名
① 根据系统设计所规定的结构,建立相应的文件夹,根据需要建立子文件夹
② 文件夹的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字
③ 文件夹名称的必须全部使用小写字母 (如 “ /example ” )
1.2 文件命名
① 文件的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字
② 文件名称全部使用小写字母(确保平台兼容)
③ 文件名称一般采用”xxx_yyy.ext”格式,xxx(3-4个字母)表示分类,yyy(字母数自定)表示操作 (如 “ /example/exp_edit.htm ”)
2. 程序书写规则
2.1 变量命名
所有变量必须能够反映变量的作用,采用如下命名规则:
⑴ 常数命名约定
用 Const 语句创建真正的常数。这个约定使用大小写混合的格式,并以“con”作为常数名的前缀。例如:
conYourOwnConstant
⑵ 变量命名约定
出于易读和一致性的目的,请在 VBscript 代码中使用以下变量命名约定:
类型
前缀
示例
Boolean
Bln
blnFound
Byte
byt
bytRasterData
Date (Time)
dtm
dtmStart
Double
dbl
dblTolerance
Error
err
errOrderNum
Integer
int
intQuantity
Long
lng
lngDistance
Object
obj
objCurrent
Single
sng
SngAverage
String
str
strFirstName
⑶ 变量作用域前缀
随着 script 代码长度的增加,有必要快速区分变量的作用域。在类型前缀前面添加一个单字符前缀可以实现这一点,而不致使变量名过长。
作用域
前缀
示例
过程级
无
dblVelocity
script级
s
sblnCalcInProgress
全程级
g
gblnCalcInProgress
⑷ 描述性变量名和过程名
变量名或过程名的主体应使用大小写混合格式,并且尽量完整地描述其目的。另外,过程名应以动词开始,例如 InitNameArray 或 CloseDialog。对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度内。通常多于 32 个字符的变量名会变得难以阅读。使用缩写时,应确保在整个 script 中保持一致。
对象命名约定,下表列出了 VBscript 中可能用到的对象命名约定(推荐):
对象类型
前缀
示例
文本框
txt
txtLastName
列表框
lin
linVertical
复选框
chk
chkReadOnly
组合框、
下拉列表框
cbo
cboEnglish
标签
lbl
lblHelpMessage
命令按钮
cmd
cmdExit
框架
fra
fraLanguage
图像
img
imgIcon
直线
lst
lstPolicyCodes
公共对话框
dlg
dlgFileOpen
水平滚动条
Hsb
hsbVolume
垂直滚动条
vsb
vsbRate
⑸ 代码注释约定
所有过程的开始部分都应有描述其功能的简要注释。当传递给过程的参数的用途不明显,或过程对参数的取值范围有要求时,应加以说明。如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。
过程开始部分的注释应包含以下区段标题。相关样例,请参阅后面的“格式化代码”部分。
区段标题 注释内容
目的 过程的功能(不是实现功能的方法)。
假设 其状态影响此过程的外部变量、控件或其他元素的列表。
效果 过程对每个外部变量、控件或其他元素的影响效果的列表。
输入 每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。
返回 返回值的解释。
请记住以下几点:
每个重要的变量声明都应有内部注释,描述变量的用途。
应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。
应在 script 的开始部分包含描述该 script 的概述,列举对象、过程、运算法则、对话框和其他系统从属物。有时一段描述运算法则的假码是很有用的。
格式化代码
应尽可能多地保留屏幕空间,但仍允许用代码格式反映逻辑结构和嵌套。以下为几点提示:
标准嵌套块应缩进 4 个空格。
过程的概述注释应缩进 1 个空格。
概述注释后的最高层语句应缩进 4 个空格,每一层嵌套块再缩进 4 个空格。例如:
'*********************************************************
' 目的: 返回指定用户在 UserList 数组中第一次出现的位置。
' 输入: strUserList(): 所查找的用户列表。
' strTargetUser: 要查找的用户名。
' 返回: strTargetUser 在 strUserList 数组中第一次出现时的索引。
' 如果目标用户未找到,返回 -1。
' 日期: Designed by MS 2000/9/12
'*********************************************************
Function intFindUser (strUserList(), strTargetUser)
Dim i ' 循环计数器。
Dim blnFound ' 发现目标的标记。
intFindUser = -1
i = 0 ' 初始化循环计数器。
Do While i <= Ubound(strUserList) and Not blnFound
If strUserList(i) = strTargetUser Then
blnFound = True ' 标记设为 True。
intFindUser = i ' 返回值设为循环计数器。
End If
i = i + 1 ' 循环计数器加 1。
Loop
End Function
2.2 公用函数库
① 所有公用函数文件均放在“ /include ”目录下,统一管理,并作适当归类和调整
② 所有公用函数必须在函数前以注释方式书写函数作用,参数定义和返回值,例如:
2.4 注释
① 注释尽量使用中文
② 每个程序开始部分必须有以下注释:
程序名称、程序描述、实现功能、设计人员、设计日期
③ 程序代码部分必须有足够的代码片段的注释,表达清楚该程序片段的编写意图和实现原理
2.5 程序结构
① 程序代码中要有足够的容错处理功能
② 报表程序与查询程序应该具有灵活性,尽量提供给用户足够的选择
③ 程序代码结构必须层次清楚,适当使用空行分段
3. 界面设计规则
1. 界面设计尽量美观、实用、统一
2. 界面设计应尽量参考美工的建议
4. 测试规则
1. 程序编写完成后,应进行必要的测试。
2. 测试用例要覆盖各功能模块。
php爱好者站 http://www.phpfans.net c/vc/c++/java.
相关阅读 更多 +