我的 c++ 风格
跌跌撞撞,在C++世界中游走了快有两年了.
在这些日子里.编码风格换了不少种,主要是接触到的代码说明样的都有,大体上都是比较杂乱的代码风格.
在此特意为自己的风格写个规范,以后的日子就按照此规范码代码了.:)
字体
1.使用等宽字体
2.每个制表符(TAB)的宽度为4个半角字符
语法高亮
类型 | 颜色 | 举例 |
注释 | R0;G128;B0(深绿) | // 注释例子 |
关键字 | R0;G0;B255(蓝) | typedef, int, dynamic_cast class ... |
类、结构、联合、枚举等其它自定义类型 | R0;G0;B255(蓝) | class CMyClass, enum ERRTYPE, typedef int CODE ... |
名空间 | R0;G0;B255(蓝) | namespace BaiY |
数字 | R255;G0;B0(红) | 012 119u 0xff ... |
字符、字符串 | R0;G128;B128(深蓝绿) | "string", 'c ... |
宏定义、枚举值 | R255;G128;B0(橙黄) | #define UNICODE, enum { RED, GREEN, BLUE }; |
操作符 | R136;G0;B0(棕色) | < > , = + - * / ; { } ( ) [ ] ... |
方法/函数 | R136;G0;B0(棕色) | MyFunc() |
变量 | R128;G128;B128(中灰色) | int nMyVar; |
背景 | R255;G255;B255(白色) | |
其它 | R0;G0;B0(黑色) | other things(通常是一个错误) |
头文件注释
/*! @file
********************************************************************************
<PRE>
模块名 : <文件所属的模块名称>
文件名 : <文件名>
相关文件 : <与此文件相关的其它文件>
文件实现功能 : <描述该文件实现的主要功能>
作者 : <作者部门和姓名>
版本 : <当前版本号>
--------------------------------------------------------------------------------
备注 : <其它说明>
--------------------------------------------------------------------------------
修改记录 :
日 期 版本 修改人 修改内容
YYYY/MM/DD X.Y <作者或修改者名> <修改内容>
</PRE>
*******************************************************************************/
命名规则
1.类的名称都要以大写字母“C”开头,后跟一个或多个单词。为便于界定,每个单词的首字母要大写。
2.类的命名推荐用"名词"或"形容词+名词"的形式,例如:"CAnalyzer", "CFastVector" ....
3.函数名应当使用"动词"或者"动词+名词"(动宾词组)的形式。例如:"GetName()", "SetValue()", "Erase()", "Reserve()" ....
4.保护成员函数的开头应当加上一个下划线“_”以示区别,例如:"_SetState()" ....
5.类似地,私有成员函数的开头应当加上两个下划线“__”,例如:"__DestroyImp()" ....
6.虚函数习惯以“Do”开头,如:"DoRefresh()", "_DoEncryption()" ....
7.回调和事件处理函数习惯以单词“On”开头。例如:"_OnTimer()", "OnExit()" ....
变量命名
1.作用域"g_",全局变量.
2.作用域"m_",类的成员变量.
3.类型前缀"n",整型
"i",类的实例
"b",bool型
"e",枚举型
"c",字符型
"f",float型
"p",指针型
"pfn",指向函数的指针变量
"sz",字符串数组
4.变量的名字应当使用"名词"或者"形容词+名词"。例如:"nCode", "m_nState","nMaxWidth" ....
...待续