《C/C++ 编码规范》
目录
《华为技术有限公司C语言编程规范》(done)
《高质量程序设计指南》整合到第 8 章 C++函数的高级特性(ing)
Google C++ Style Guide (undone)
C++编码规范与指导-白杨 (undone)
第一章、基本原则
1.1 KISS 原则( Keep It Simple, Stupid 的首字母缩写)
指在设计当中应当注重简约的原则,保持代码的简洁,避免过分的编程技巧。
1.2 编程时首先确保正确性,其次考虑效率和资源占用等其他方面
宗旨:保证代码在高质量完成需求的同时具备良好的可读性、可维护性、可扩展性。
目标:代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余。规范性,代码有规可循。
第二章、头文件
背景:对C语言来说,头文件的设计体现了大部分的系统设计。
2.1 头文件的结构
头文件由三部分内容组成:
(1) 头文件开头处的文件信息声明
(2) 预处理块
(3) 函数和类结构声明等假设头文件名称为 filesystem.h,头文件的结构参见示例
(1)头文件开头处的文件信息声明:
/*********************************************************************
* 版权所有 (C)2013, ****科技有限公司 *
* 内容摘要: // 简要描述本文件中的主要模块、函数及其功能的说明
* 当前版本: // 例: V 1.0.0
* 作 者: // 某甲
* 完成日期: // 例:2013年11月1日
* 修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容 修改日期:
* 修改日期:
* 版本号:
* 修改人:
* 修改内容:
* 修改记录2:
***********************************************************************/
(2)预处理块:
#ifndef _FILE_SYSTEM_H_ //avoid referencing the file filesystem.h repeat
#define _FILE_SYSTEM_H_
#include <math.h> //reference standard head file
…
#include “myheader.h” //reference non-standard head file
(3)函数和类结构声明等:
void Function1(…); //global function declare
…
class CBox //class structure decalre
{
…
};
#endif
【规则2.1.1】为了防止头文件被重复引用,应当用ifndef/define/endif
结构产生预处理块;“#ifndef”
或者“#define”
后以TAB键代替SPACE键做空格;如果头文件名称是由多个单词组成,则各单词间以下划线“_”连接.
例如有头文件名称为“filesystem.h”
,则定义如下:#ifndef _FILE_SYSTEM_H_
;
【规则2.1.2】用 #include <filename.h>
格式来引用标准库的头文件;
【规则2.1.3】用 #include “filename.h”
格式来引用非标准库的头文件;
【规则2.1.4】禁止头文件循环依赖;
【建议2.1.1】只引用需要的头文件。
2.2 .h和.cpp文件
头文件(.h)
参考的布局如下:
#ifndef XXXXX_H_20131101
// 定义防止重复包含的宏
#define XXXXX_H_20131101
其它条件编译选项
#include
(依次为标准库头文件、非标准库头文件)
常量定义
全局宏
全局数据类型
类定义
全局函数原型
#endif
实现文件(.c; .cpp 等)
参考的布局如下:
#include
(依次为标准库头文件、非标准库头文件)
常量定义
文件内部使用的宏
文件内部使用的数据类型
全局变量
局部函数原型
类的实现
全局函数
局部函数
第十五章、业界编程规范
《google C++编程指南》
《C++编码规范》,陈世忠,人民邮电出版社,2002
《高质量程序设计指南C++/C语言》,林锐等,电子工业出版社,2003
《C++编码规范与指导》,白杨
《中兴软件编程规范-C/C++篇》
百度云链接: https://pan.baidu.com/s/13QbTdu1JoU2T56eN3Sn4Pw
提取码: 仅内部使用