编码规范-文件管理
3.文件
3.1.文件头
在.h/.hpp 的开头应有一段格式统一的说明,内容包括:
序号 关键字 关键字含义 说明
1. @brief 文件简要功能描述
2. @details 文件详细功能描述
3. @author 作者名称
4. @date 创建、修改日期
5. @version 文件版本
6. @warning 特殊警告说明
7. @copyright 公司版权说明
8. @note @date @author 修改说明历史n @date格式为yyyymmdd,@author一般为拼音首字母缩写,@date/@author/修改说明历史之间使用1个tab分割。
关键字和关键字含义之间使用2个tab分割,保持书写格式优美。
1个tab采用4个空格。
样例:
/**
*@brief 文件简要功能描述
*@author 作者名称
*@date 创建、修改日期
*@version 文件版本
*@warning 特殊警告说明
*@copyright 公司版权说明
*@note @date @author 修改说明历史n
*@note @date @author 修改说明历史n-1
*......
*@note @date @author 修改说明历史2
*@note @date @author 修改说明历史1
*/
3.2.头文件组成
头文件,从开始到结束,一般包括:文件头、编译宏定义开始、包含系统文件、包含工程文件、类/结构前置声明、、extern全局函数/变量宏定义、类定义、编译宏定义结束等。
序号 组成部分 样例 说明
1. 文件头
2. 编译宏定义开始 #ifndef DLG_DEV_H
3. 包含系统文件 #include
/**
*@brief 文件简要功能描述
*@author 作者名称
*@date 创建、修改日期
*@version 文件版本
*@warning 特殊警告说明
*@copyright 公司版权说明
*@note @date @author 修改说明历史n
*@note @date @author 修改说明历史n-1
*......
*@note @date @author 修改说明历史2
*@note @date @author 修改说明历史1
*/
#ifndef DIALOGDEV_H
#define DIALOGDEV_H
#include <QtCore/qstring.h>
#include <QtGui/qmessagebox.h>
#include "DevManager.h"
#include "DevThread.h"
//前置声明
class CDevCfg;
class CDevInfo;
extern int g_i32DevCount;
extern int g_i32DevState;
extern CDevCfg* GetDevCfg(int i32Index);
extern CDevInfo* HandleDevInfo(const QString& strDevCode);
const int MAX_DEV_NAME_LEN = 64;
enum DEV_TYPE
{
DT_1500 = 0,
DT_208 = 1,
DT_212 = 2
};
/**
* @class 设备窗口操作类
*/
class RTX_MOD CDialogDev : public QDialog, CRTDialog
{
Q_OBJECT
public:
explicit CDialogDev(QObject *parent = 0);
signals:
public slots:
};
#endif // DIALOGDEV_H
3.3.文件独立
① 定义和实现分开。内联函数除外。
② 应该在一个单独的.h /.hpp文件中定义一个类,在一个单独的.cpp 文件中实现这个类。
③ .h 与.cpp 文件的文件名必须与类名相同。除了类名的首个大写字母C。
④ 相关模块、相似功能的文件命名规则一致,统一放到相应的功能代码目录。
3.4.文件合并
① 若几个类的规模都不大,关系又很密切,比如业务关系,则可在一个.h 文件中定义这些类,在一个.cpp 文件中实现。
② 对于附属于较大规模类的一个很小规模的类, 可以写在那个大规模类的.h 和.cpp 里。
3.5.文件大小
① 一个头文件中类定义最好不要超过5个。
② 一个头文件中最好能控制在500行之内(不包括注释)。
③ 一个头文件中全局或类的接口/函数最好控制在100个之内。
④ 一个实现文件最好能控制在5000行之内(不包括注释)。