C/C++ 编码规范(持续撰写ing)

《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 declareclass CBox             	   //class structure decalre
{};
#endif

【规则2.1.1】为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块;“#ifndef”或者“#define”后以TAB键代替SPACE键做空格;如果头文件名称是由多个单词组成,则各单词间以下划线“_”连接.
例如有头文件名称为“filesystem.h”,则定义如下:#ifndef _FILE_SYSTEM_H_

拓展:C++头文件保护符和变量的声明定义

【规则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
提取码: 仅内部使用


第十六章、其他参考内容

《软件开发规范》

《代码检查单》

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值