PersonalCorpus 版 (精华区)
发信人: Sun (大灯泡), 信区: SoftEng
标 题: 谈谈代码风格——附录
发信站: 紫 丁 香 (Tue Apr 11 10:25:04 2000), 转信
发信人: xiaobo (克利斯朵夫), 信区: SoftEng
标 题: Re: 请教编程规范
发信站: BBS 水木清华站 (Tue Oct 27 10:51:06 1998)
【 在 start1 (sonic) 的大作中提到: 】
∶ 请教:
∶ 何处能得到关于编程规范(即编程准则,例如变量命名规则、注释规则
∶ 等)的资料。
呵呵,这是原来我自己修订的一个编程规范,准备在实验室中应用,后来又不了了之。
供参考,请指点。
==============================================================================
编程规范
【命名约定】
一、变量名的约定:
命名规则主要采用匈牙利命名法。进行了一些增删。
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. 接口即是罗列出一个模块的所有的与外部打交道的变量、函数等。
--
欢乐,如醉如痴的欢乐,好比一颗太阳照耀着一切现在的与未来的成就,
创造的欢乐,神明的欢乐!唯有创造才是欢乐。唯有创造的生灵才是生灵。
--《约翰.克利斯朵夫》
※ 修改:·xiaobo 於 Oct 27 10:52:33 修改本文·[FROM: 166.111.49.32]
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.49.32]
--
太阳就是个大灯泡。(自创)
先天下之光而光,后天下之脱而脱。(摘抄)
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.239.237]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.836毫秒