编程规范
By xiaobo (克利斯朵夫)
================================================================
【命名约定】
一、变量名的约定:
命名规则主要采用匈牙利命名法。进行了一些增删。
1. 用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。
-----------------------------------------------------------------
前缀 类型 例子
b * Boolean bIsParent
by 字节 byFlag
ch * char chText
c * 类对象 cMain(对象实例)
fn Function fnCallback
h * Handle(句柄) hWnd
i * int
n * 无符号整型
p * 指针
sz,str * 字符串
w WORD
x,y 坐标 xPos, yPos
-----------------------------------------------------------------
其中,带“*”号的为常用约定。
其它前缀:
m_ 类成员变量 m_nVal, m_bFlag
g_ 全局变量 g_nMsg, g_bFlag
局部变量中可采用如下几个通用变量:nTemp,nResult,I,J(一般用于循环变量)。
二、VB中控件的命名:
用小写前缀表示类别:
fm 窗口
cmd 按钮
cob combo,下拉式列表框
txt 文本输入框
lab labal,标签
img image,图象
pic picture
grd Grid,网格
scr 滚动条
lst 列表框
frm fram
【注释规范】
一、函数
在函数开头,用如下格式注释:
/***************************************************************/
/* Function: DelStringFrom string */
/* 从一个String删除另一个String。 */
/* 参数:strByDelete,strToDelete */
/* strByDelete: 被删除的字符串(原来的字符串) */
/* strToDelete: 要从上个字符串中删除的字符串。 */
/* 返回:找到并删除返回0,否则返回-1. */
/***************************************************************/
二、变量
对于非通用的变量,请在定义时加以注释说明,变量定义尽可能放在最开始处。
三、文件注释
在文件开头注释以下内容:
////////////////////////////////////////////////////////////////
// Project: 文件所在的项目名,如:eForum
// By: 作者、修改者、...,如:xiaobo、qyz.........
// Discription: 说明文件的功能。
////////////////////////////////////////////////////////////////
四、其它
函数内各功能模块,如:循环、流程的各分支等,尽可能多的加以注释。
【编程风格】
一、严格采用梯形层次对应好各层次。如:
main()
{
int i,j;
........
for (i==0;i<100;i++)
{
..........
..........
if (i==0)
{
.........
.........
}
..........
..........
}
.........
}
二、注意错误处理
编程中要考虑函数的各种执行情况,尽可能处理所有流程情况。
将函数分两类:
一类为与屏幕的显示无关,
二类为与屏幕的显示有关。
对于与屏幕显示无关的函数,函数通过返回值来报告错误。
对于与屏幕显示有关的函数,函数要负责向用户发出警告,并进行错误处理。
错误处理代码一般放在函数末尾,如下(以VB程序为例):
........
On Error Goto errHandle
.......
Exit Sub
errHandle:
Select Case Err
Case 1:
....
Case 2:
....
Case Else:
....
End Select
End Sub
对于通用的错误处理,可建立通用的错误处理函数,处理常见的通用的错误。
【模块化】
某一功能,如果重复实现三遍以上,即应考虑模块化,将它写成通用函数。并向小组成员发布。同时已要尽可能利用其它人的现成模块。模块化的一些注意事项:
1. 设计好模块接口,用面向对象的观点看,包括:函数接口和变量接口。
2. 定义好接口以后不要轻易改动,并在模块开头(文件的开头或函数的开头)加以说明。
3. 不要在外部使用接口以外的其它函数或变量。
4. 注意全局变量也是一种接口。
5. 接口即是罗列出一个模块的所有的与外部打交道的变量、函数等。
-----------------------------------------------------------------
发布人:netbull 来自:星期五的天空