欢迎来到天天文库
浏览记录
ID:51335988
大小:162.00 KB
页数:15页
时间:2020-03-10
《C编码规范小组规范V1.0.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C++_编码规范小组规范Preparedby拟制人余裕拱Date日期2013-03-04Reviewedby评审人Date日期Approvedby批准人Date日期文档编号:密级:文档修订记录日期版本说明作者2013-03-041.0创建余裕拱目录一、读者对象1二、目录结构1三、文件结构23.1头文件#define保护23.2头文件依赖23.3包含次序23.4声名次序3四、代码注释4五、命名原则55.1局部变量55.2常量55.3参数变量55.4类或结构成员变量65.5类名65.6枚举65.7结构6
2、5.8函数75.9回调函数85.10线程85.11全局对象85.12对称的命名105.13组件命名105.14UI组件命名11六、代码风格11七、常用组件12一、读者对象有一定的C++基础,为加快日常开发和管理统一代码风格编写,这里只会提及20%的C++内容元素,本人觉得最高的效率法则就是2/8法则,就是希望只用20%最简单的C++元素,就可以实现日常开发中80%的功能。尽量不要做无用功,提倡用最简单的代码实现最复杂的功能,不要用最复杂的代码实现最简单的功能。简单代码+清晰逻辑=复杂的构造二、目录结
3、构项目名/doc//项目文档项目名/bin//项目执行程序项目名/script//项目脚本项目名/include//第三方或公共组件项目名/lib//项目动态生成库项目名/release//版本发布项目名/test//测试代码项目名/tmp//项目动态生成的临时资源项目名/src//源代码项目名/src/app//执行程序项目名/src/gui//界面逻辑_引用开发工具UI组件项目名/src/bll//业务逻辑_引用标准C++项目名/src/dal//数据逻辑_引用标准C++项目名/src/enti
4、ty//结构实体_引用标准C++一、文件结构.h//头文件.cpp//C++实现文件.hpp//.h与.cpp的结合,做标准公共组件用#include//格式来引用标准库和系统库的头文件。#include"file.h"//格式来引用当前工程中的头文件。1.1头文件#define保护所有头文件都应该使用#define防止头文件被多重包含(multipleinclusion),如:#ifndefSYSTEM_BLL_H#defineSYSTEM_BLL_H...#endif1.2头文件
5、依赖使用前置声明(forwarddeclarations)尽量减少.h文件中#include的数量,加快编译速度。1.3包含次序将包含次序标准化可增强可读性、避免隐藏依赖(注:隐藏依赖主要是指包含的文件编译)头文件包含次序如下:C库、C++库、其他库的.h、项目内的.h。实现文件(如dir/foo.cpp)包含次序如下:dir2/foo2.h(优先位置,详情如下)C系统文件C++系统文件其他库头文件本项目内头文件在包含文件里不要使用.(当前目录)和..(父目录),如:#include“../abc.
6、h”//不要这样使用1.1声名次序在类中使用特定的声明次序:public:在private:之前,成员函数在数据成员(变量)前。定义次序如下:public:、protected:、private:,如果那一块没有,直接忽略即可。每一块中,声明次序一般如下:1)typedefs和enums;2)常量;3)构造函数;4)析构函数;5)成员函数,含静态成员函数;6)数据成员,含静态数据成员。一、代码注释1)类对像头文件注释,如:/**************************************
7、************功能概述:<描述该文件实现的主要功能>备注:<描述特殊说明>修改记录:日期版本修改人修改内容YYYY-MM-DD1.0部门-姓名创建YYYY-MM-DDX.Y部门-姓名<修改内容>**************************************************/ClassCFile{2)函数名注释,如://设置姓名VoidSetName(conststring&psName);3)变量注释,如:stringmsName;//姓名};4)实现文件中针对每做一
8、件事都要加上注释。一、命名原则1.1局部变量类型首字母小写+英文单词(首字母大写),如:表4.1局部变量类型定义备注boolboolbIsSuccess;//是否成功intintiCount;//总数unsignedintunsignedintuiNum;//编号charcharcNum;//编号longlonglonglongllSerialNum;//序列号stringstringsName;//姓名floatfloatfPrice//单价doubledouble
此文档下载收益归作者所有