当前位置:首页 > C++编码规范 (2)
.
例如:
Logger g_Log; Logger* g_pLog;
1.11. 全局常量的命名(适用于C/C++)
2 全局常量全部大写,并以下划线 '_' 分隔单词。 例如:
const intA_GLOBAL_CONSTANT = 5;
1.12. 静态变量的命名前缀(适用于C++)
2 静态变量以 's' 作为前缀。 例如: class Test { public: private:
staticStatusInfo m_sStatus; }
1.13. 自定义类型(typedef)的命名(适用于C/C++)
2 类型定义名称指的是用typedef定义的名称。
2 类型定义名称使用与类名相同的规则,并使用Type作为后缀。 例如:
typedefuint16 ModuleType; typedefuint32 SystemType;
1.14. 宏定义的命名(适用于C/C++)
2 所有单词的字母都用大写,并使用下划线 '_' 分隔. 例如:
#define MAX(a,b) blah #define IS_ERR(err) blah
1.15. C 函数的命名(适用于C/C++)
;.
.
2 C++项目中,应尽量少用C函数。
2 C函数使用GNU规范,所有字母都使用小写,并用下划线 '_' 作为单词的分隔。 例如: int
some_bloody_function() { }
2 特别的,为了赚容C/C++,在必要的时候,在C++中应以下面的格式定义C函数: extern “C” int some_bloody_function(); 2 或在C/C++中推荐使用下面的格式: #ifdef__cplusplus__ extern “C”{ #endif int
some_bloody_function() { }
#ifdef__cplusplus__ } #endif
1.16. 枚举的命名(适用于C/C++)
2 所有字母都大写,并用下划线 '_' 作为单词分隔。 例如:
enumPinStateType {
PIN_OFF, PIN_ON };
enum { STATE_ERR, STATE_OPEN, STATE_RUNNING, STATE_DYING};
2. 排版规则
;.
.
2.1. 布局和模板
2.1.1. 类的布局模板 (适用于C++)
2 请使用下面的模板来创建一个新的类: /**
* 用一行来描述类 *
*#include \ *-llib *
* 类的详细说明 *
* @seesomething */
#ifndef SORUTION_PROJECT_CLASSNAME_H #define SORUTION_PROJECT_CLASSNAME_H
// 在这里包含系统头文件 //
// 在这里包含项目头文件 //
// 在这里包含局部头文件 //
// 在这里放置前置引用 // class XX {
;.
.
public:
// 类的生命周期控制函数,如构造和析构,以及状态机 /**
*Default constructor. */ XX(void); /**
*Copy constructor. *
*@param from The value to copy to this object. */
XX(const XX& from); /**
*Destructor. */
virtual ~XX(void);
// 在这里放置类的运算操作符 /**
*Assignment operator. *
*@param from THe value to assign to this object. *
*@return A reference to this object. */
XX& operator=(XX&from);
// 在这里放置类的操作 // 在这里放置属性存取
;.
共分享92篇相关文档