Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1474188
  • 博文数量: 165
  • 博客积分: 2068
  • 博客等级: 上尉
  • 技术积分: 2102
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-27 16:07
文章分类

全部博文(165)

文章存档

2018年(1)

2017年(22)

2016年(9)

2015年(22)

2014年(8)

2013年(25)

2012年(53)

2011年(25)

分类: Python/Ruby

2012-09-04 20:49:08

编码约定包含以下容:
  • 对象、变量和过程的命名约定
  • 注释约定
  • 文本格式和缩进指南 
一致的编码约定使代码易于阅读和理解。

常数命名约定

  使用Const语句常见常数,常数名使用大小写混合格式,并以con作为常数名的前缀,如:conYourName

变量命名约定

  不同子类型变量的变量名前缀如下:

  子类型 前缀 示例 
  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级变量,为了进一步区分过程级变量和Script级变量,我们在变量的类型前缀前加一个s表示Script级变量。例如:sblnCalcInProgress

  变量名和过程名的主体应使用大小写混合格式,并且尽量完整的描述其目的。
  此外过程名应以动词开始,如 InitNameArray或CloseDialog

对象命名约定

  下面列出了常用对象的命名约定
  对象类型 前缀 示例 
  3D 面板 pnl pnlGroup 
  动画按钮 ani aniMailBox 
  复选框 chk chkReadOnly 
  组合框、下拉列表框 cbo cboEnglish 
  命令按钮 cmd cmdExit 
  公共对话框 dlg dlgFileOpen 
  框架 fra fraLanguage 
  水平滚动条 hsb hsbVolume 
  图像 img imgIcon 
  标签 lbl lblHelpMessage 
  直线 lin linVertical 
  列表框 lst lstPolicyCodes 
  旋钮 spn spnPages 
  文本框 txt txtLastName 
  垂直滚动条 vsb vsbRate 
  滑块 sld sldScale

代码注释约定

  每个过程的开始部分都应该有描述其功能的简要注释。这些注释并不描述细节信息,细节信息由代码和必要的内部注释来描述。

  当传递给过程的参数的作用不明显,或过程对参数的取值范围有要求时,应当加以说明。
  如果过程改变了函数或变量的返回值(特别是通过参数引用来改变),也应该在过程的开始部分描述该返回值。
  
  过程的开始部分应该包含以下区段标题。

  区段标题 注释内容 
  目的 过程的功能(不是实现功能的方法)。 
  假设 其状态影响此过程的外部变量、控件或其他元素的列表。 
  效果 过程对每个外部变量、控件或其他元素的影响效果的列表。 
  输入 每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。 
  返回 返回值的解释。

  请记住以下几点:

  • 每个重要的变量声明都应有内部注释,描述变量的用途。
  • 应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。
  • 应在 Script 的开始部分包含描述该 Script 的概述,列举对象、过程、运算法则、对话框和其他系统从属物。有时一段描述运算法则的假码是很有用的。
格式化代码
  • 标准嵌套块应缩进 4 个空格。
  • 过程的概述注释应缩进 1 个空格。
  • 概述注释后的最高层语句应缩进 4 个空格,每一层嵌套块再缩进 4 个空格。例如:
'********************************************************* ' 目的: 返回指定用户在 UserList 数组中第一次出现的位置。 ' 输入: strUserList(): 所查找的用户列表。 ' strTargetUser: 要查找的用户名。 ' 返回: strTargetUser 在 strUserList 数组中第一次出现时的索引。 ' 如果目标用户未找到,返回 -1。 '********************************************************* 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

阅读(1696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~