Google编程风格(自己整理)
1. 头文件
1. 避免多重包含是学编程时最基本的要求;
2. 前置声明是为了降低编译依赖,防止修改一个头文件引发多米诺效应;
3. 内联函数的合理使用可提高代码执行效率;
4. 标准化函数参数顺序可以提高可诺性和易维护性;
6. 将包含次序标准化可增强可读性、避免隐藏依赖;
2. 作用域
1. .c中的不具名命名空间可避免命名冲突、限定作用域,避免直接使用 using 提示符污染命名空间;
2. 嵌套类符合局部使用原则,只是不能在其他头文件中前置声明,尽量不要 public;
3. 尽量不用全局函数和全局变量,考虑作用域和命名空间限制,尽量单独形成编译单元;
4. 多线程中的全局变量(含静态成员变量)不要使用 class 类型(含 STL 容器),避免不明确行为导致的bugs。
3. C++类
1. 不在构造函数中做太多逻辑相关的初始化;
2. 编译器提供的默认构造函数不会对变量进行初始化,如果定义了其他构造函数,编译器不再提供,需要
编码者自行提供默认构造函数;
3. 为避免隐式转换,需将单参数构造函数声明为 explicit;
4. 为避免拷贝构造函数、赋值操作的滥用和编译器自动生成,可声明其为private 且无需实现;
5. 仅在作为数据集合时使用 struct;
6. 组合>实现继承>接口继承>私有继承,子类重载的虚函数也要声明 virtual 关键字;
7. 避免使用多重继承;
8. 接口类类名以 Interface 为后缀,除提供带实现的虚拟析构函数、静态成员函数外,其他均为纯虚函数,不定义非静态数据成员,不提供析构函数,提供的话,声明为 protected;
9. 为降低复杂性,尽量不重载操作符,模板、标准类中使用时提供文档说明;
10. 存取函数一般内联在头文件中;
11. 声明次序:public->protected->private;
12. 函数体尽量短小、紧凑,功能单一;
4. 命名约定
1.总体规则:不要随意缩写,如果说 ChangeLocalValue 写作 ChgLocVal 还有情可原的话,把ModifyPlayerName 写作 MdfPlyNm 就太过分了,除函数名可适当为动词外,其他命名尽量使用清晰易懂的名词;
2. 宏、枚举等使用全部大写+下划线;
3. 变量(含类、结极体成员变量)、文件、命名空间、存取函数等使用全部小写+下划线,类成员变量以下划线结尾,全局变量以 g_开头;
4. 普通函数、类型(含类与结构体、枚举类型)、常量等使用大小写混合,不含下划线;
5. 参考现有或相近命名约定;
5. 代码注释
1. 关于注释风格,很多 C++的 coders 更喜欢行注释,C coders 或许对块注释依然情有独钟,或者在文件头大段大段的注释时使用块注释;
2. 文件注释可以炫耀你的成就,也是为了捅了篓子别人可以找你;
3. 注释要言简意赅,不要拖沓冗余,复杂的东西简单化和简单的东西复杂化都是要被鄙视的;
4. 对于 Chinese coders 来说,用英文注释还是用中文注释,it is a problem,但不管怎样,注释是为了让别人看懂,难道是为了炫耀编程语言之外的你的母语或者外语水平吗;
5. 注释不要太乱,适当的缩进才会让人乐意看,但也没有必要规定注释从第几列开始,UNIX/LINUX 下还可以约定是使用 tab 还是 space,个人倾向于space;
6. TODO 很不错,有时候,注释确实是为了标记一些未完成的或完成的不尽如人意的地方,这样一搜索,就知道还有哪些活要干,日志都省了。
6. 格式
1. 行宽原则上不超过80列;
2. 只使用空格,每次缩进2个空格;
4. 函数参数、逻辑条件、初始化列表:要么所有参数和函数名放在同一行,要么所有参数并排分行;
5. 除函数定义的左大括号可以置于行首外,包括函数/类/结极体/枚举声明、各种语句的左大括号置于行尾,所有右大括号独立成行;
6. ./->操作符前后不留空格,*/&不要前后都留,一个就可,依各人喜好;
7. 预处理指令/命名空间不使用额外缩进,类/结极体/枚丼/函数/语句使用缩进;
8. 初始化用=还是()依个人喜好,统一就好;
9. return 不要加();
分享到:
相关推荐
### Google编程风格手册知识点解析 #### 一、概述 **Google编程风格手册**是一份由Google内部制定并广泛使用的编程规范文档,旨在提高代码的可读性和一致性,从而提升开发效率和软件质量。该手册主要关注C++语言的...
**谷歌编程风格指南详解** 谷歌编程风格指南是编程领域中一份重要的参考资料,它为程序员提供了统一的代码编写规范,旨在提升代码的可读性、可维护性和团队协作效率。无论你是初学者还是经验丰富的开发者,遵循这样...
Google C++ 编程风格指南是一份旨在规范Google开源项目中C++代码编写风格的文档。由于C++是一种功能强大的编程语言,它在提供广泛语言特性的同时也带来了编程的复杂性,容易出现错误,并使得代码难以阅读和维护。这...
《Google C++ 编程风格(中文版)》是一本深入探讨C++编程规范和实践的书籍,尤其针对在大型企业如谷歌这样的环境下如何编写高效、可读且易于维护的代码进行了详尽的阐述。这本书对于任何希望提升C++编程技能,尤其...
### 自制Google C语言编程风格指南精要 #### 背景与目的 在软件工程领域,编程风格的规范对于确保代码质量、提高代码可读性和可维护性至关重要。Google作为全球领先的科技企业,其内部制定的编程风格指南无疑成为...
- 文档中的示例代码仅供参考,遵循Google编程风格,但并不代表是唯一正确的格式展示方式。示例中的格式选择不应被视为强制性规定。 #### 三、源文件基础 - **文件名**:源文件以其最顶层的类名命名,大小写敏感,...
这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, ...
### Google C++编程风格指南(最新中文版) #### 背景与意义 Google C++编程风格指南(最新中文版)旨在为参与Google开源项目的开发者提供一套统一且规范的编程风格指南,确保代码的一致性和可读性。这对于维护...
谷歌C++编程风格指南详细指导了如何在使用C++语言进行编程时,编写高质量的代码和文件格式。为了使代码易于阅读、理解和维护,这些规则被严格制定,目的是通过限制和规范使用C++语言的某些特性来减少代码复杂性。 ...
Google C++编程风格指南是一份详细介绍编程规范的文档,强调如何在C++编程中规避语言的复杂性,提高代码的可读性和一致性。该指南主要适用于Google的开源项目,但同样适用于其他使用C++的环境。 1. **编码风格的...
《Google C++编程风格指南》是Google公司内部用于规范C++编程的一份重要文档,旨在提高代码质量和可读性,确保团队之间的代码一致性。这份指南不仅适用于Google的工程师,也成为了全球C++开发者的重要参考资源。它...
《Google C++编程风格指南》是一本针对C++程序员的重要参考书籍,由互联网巨头Google公司制定,旨在提供一套统一的编码规范,确保代码的可读性、可维护性和团队协作效率。这份指南不仅适用于Google内部的开发工作,...
Google C++ 编程风格指南是一份针对 Google 开源项目中 C++ 编码实践的详细规范文档,它提供了一系列建议和规则,目的是减少代码的复杂性,提高代码的可读性、一致性以及便于维护。这份文档假定读者已经具备相当的 ...
### Google C++编程风格指南详解 #### 背景与目的 C++作为一种功能极其丰富的编程语言,提供了广泛的语言特性,这些特性使得开发者能够编写出高效且复杂的软件系统。然而,这种灵活性同样带来了挑战——代码可能变...
《Google C++编程风格指南》是一份详细的编程规范文档,旨在帮助C++程序员遵循一套统一的编码标准,提高代码质量,降低复杂性,确保代码的可读性和维护性。这份指南由Google公司制定,适用于其内部项目,但也广泛...