1.匈牙利命名规则
变动 前缀 类型
a Array
b Boolean
by Byte
c Char //有符号型字符
cb Char Byte //无符号型字符(没多大用处)
cr ColorRef //颜色参考值
cx,cy Length of x,y (ShortInt) //坐标差(长度)
dw Double Word
fn Function
h Handle
i Integer
m_ Member of a class
n Short Integer
np Near Pointer
p Pointer lp Long Pointer
×(str) s String
sz String with Zero End //以字符'\0'结尾的字符串
tm Text //文本内容
w Word
x,y Coordinate //坐标
-
-
xilinxue 发表于 2008/11/5 18:45:56
2.1 VC中变量命名时的前缀约定
Array a... //例:CStringArray saText
BOOL b...
UINT n...
int i...
short n...
long l...
WORD w...
DWORD dw...
float f...
char c...
char* psz...
TCHAR* psz...
LPCTSTR lpsz...
CString str...
COLORREF cr...
LPLOGPALETTE lp... (包括LP开头的类型都是这样)
POINT pt...
CPoint pt...
HANDLE h...
HGLOBAL h... (包括H开头的类型都是这样)
说明:
1.如果是指向上述类型的指针,就在上面规范前加 "p" ;
2.如果是指向上述类型的双重指针,就在上面规范前加 "pp" ;
3.如果是类成员变量,则在上面规范前加 "m_";
4.全局变量,则在上面规范前加 "g_";
5.在类型前加了"const",命名约定不变;
2.2 VC中变量命名时的后缀约定
1.MFC类
CWnd* p...Wnd 省去的地方一般为该类的用途 (如果是某一个类的成员,则还应该在前加 "m_")又如:CView* p...View
2.3 局部变量应尽量易懂简洁,使用常见的变量,如Num,nCount,i,j,k,n,len,pos, offset,nReadNum,index,nRet,ret, string,filename临时变量,如ltmp,ftmp,tmpStr,tempStr 。。。
2.4 函数命名也应该见名知意。如CalcAllDataStyle(),ReadDocDataFromTime(),GetIndexInfo()
常见的函数Init_, Open_, Create_, Get_, Set_, Read_, Load_, Write_, Start_, Stop_, Check_, Test_, Fill_, Process_, Sort_, Do_, Select_, Is_, Exist_,_Ex…2.5 禁止使用汉语拼音来命名;
2.6在代码中尽量不用具体的大小数值,定义成宏,便于以后维护,如:
#define MAX_DOWNLOADNUM 20
struct DownInfo m_DownInfo[MAX_DOWNLOADNUM];2.7 VC中一些控件的缩写:
ComboBox cmb
Edit edt
Dialog dlg
ListBox lst
Picture pic
Animate ani
引用 xilinxue 2008/11/5 18:45:56 发表于2楼的内容
-
-
xilinxue 发表于 2008/11/5 18:48:25
3.1 函数间要有空行分开,一个程序中的空行数目最好占8%-16% ;
3.2 变量的定义尽可能放在最开始处,多态函数和功能相近的函数集中放在一起;
3.3 声明变量时对齐变量名,并在定义时加以注释说明;
引用 xilinxue 2008/11/5 18:48:25 发表于3楼的内容
-
-
xilinxue 发表于 2008/11/5 18:51:16
4.1 工作目录结构的规定:
project name(项目名称)
——bin 执行文件
——log 日志文件
——lib 库文件
——include 头文件
——src 源程序
——dat 数据文件4.2工程中不起作用的文件或类应删除,工程目录下的非工程文件也应该移走,保持工程的清洁,避免混淆难于管理;
4.3在VC环境下,建议将常用的头文件全部放入stdafx.h中,而在每个cpp开始处嵌入stdafx.h。避免头文件的交叉引用,如果有严重的交叉引用,适当使用类的声明。
4.4 将独立性比较强的模块抽出来,做成DLL,控件或COM组件,该模块可单独编写和测试,也增强了其可重用性。
4.5 一个比较大的工程应留有一定的消息接口或插件接口等。
4.6 工程的版本控制要严格,版本格式为xx.xx.xx,必要时使用Build次数或日期。高版本尽量兼容低版本的用法、数据或协议。
4.7 工程的编译宏定义和工程参数设置应正确,每作一个新工程时应检查工程参数是否正确。建议字节对齐方式为1字节对齐。
引用 xilinxue 2008/11/5 18:51:16 发表于4楼的内容