Google 的项目大多使用 C++开发。每一个 C++程序员也都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,而复杂性会使得代码更容易出现 bug、难于阅读和维护。
 
本指南的目的是通过详细阐述如何进行 C++编码来规避其复杂性,使得代码在有效使用 C++语言特性的同时还易于管理。
 
使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解,在某些情况下改变一些编程风格可能会是好的选择,但我们还是应该遵循一致性原则,尽量不这样去做。
 
本指南的另一个观点是 C++特性的臃肿。C++是一门包含大量高级特性的巨型语言,某些情况下,我们会限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,指南中列举了这类特性,并解释说为什么这些特性是被限制使用的。

转载于:https://www.cnblogs.com/lxdong/p/3612476.html

Google C++编程风格指南(一):背景相关推荐

  1. Google C++编程风格指南

    [译]Google C++编程风格指南(八)[完] 2008年09月03日 星期三 17:06 原文地址:Google C++ Style Guide 规则之例外 前面说明的编码习惯基本是强制性的,但 ...

  2. Google C++编程风格指南阅读笔记之命名、注释和格式

    文章目录 前言 命名约定 类型命名 变量命名 枚举命名 宏的命名 注释 注释风格 文件注释 类注释 函数注释 变量注释 类的数据成员 全局变量 实现注释 TODO注释 格式 行长度 空格还是制表符 函 ...

  3. Google Java编程风格指南(献给那些没有良好编码习惯的程序员们)

    作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|C ...

  4. Google C++ 编程风格指南:注释

    Google C++ 编程风格指南:注释 注释虽然写起来很痛苦, 但对保证代码可读性至关重要. 下面的规则描述了如何注释以及在哪儿注释. 当然也要记住: 注释固然很重要, 但最好的代码本身应该是自文档 ...

  5. 深度解析Google Java 编程风格指南

    这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...

  6. Google Java编程风格指南中文版

    作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|C ...

  7. Google Java编程风格指南中文版(转)

    作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|C ...

  8. Google Java编程风格指南

    Hawstein's Blog Home Archive Categories Sitemap About Su 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这 ...

  9. Qt——自定义编程风格指南(未完成)

    文章目录 前言 一.头文件模板规则 1. 尽量所有"#include"放在.h文件头部 2. "#include"包含的类顺序 3. 头文件中 变量.函数 属性 ...

最新文章

  1. 面包板上的高频放大电路
  2. 登录MySQL非默认3306端口号的语句
  3. Docker容器相关命令
  4. 前端开发工具 vscode 使用技巧篇:控制台由powershell切换为cmd方法,windows下新旧版控制台cmd与powershell互切方法
  5. SPOJ - TOURS Travelling tours(最小费用最大流)
  6. android 文件读写
  7. 阿里巴巴超大规模 Kubernetes 基础设施运维体系介绍
  8. c语言limits.h_ (limits.h)C ++中(整数类型的大小)的宏常量
  9. wpf textbox能扫描不能手输_3D扫描仪性能怎么样 3D扫描仪价格介绍【详解】
  10. Windows下提升进程权限(转)
  11. Flash竖向大焦点图代码_网页代码站(www.webdm.cn)
  12. web前端期末大作业:美食文化网页设计与实现——美食餐厅三级(HTML+CSS+JavaScript)
  13. VUE 组件 有数据不渲染 v-for
  14. 多元函数微分学的几何应用
  15. selenium2 WebDriver 在asp.net项目中的应用
  16. 开源框架Banner实现图片轮播
  17. Ubuntu无法上网问题解决
  18. 硕士复试自我介绍中英模板
  19. 浙江移动咪咕MGV2000-K4_ZJ_S905l2_7661_线刷固件包
  20. 正态分布、单 (双) 样本 T 检验

热门文章

  1. 大数据薪资一再飙升 学习大数据需要哪些基础?
  2. 详解Nagios配置文件的逻辑关系
  3. BZOJ1911 特别行动队
  4. 一起学并发编程 - 优雅关闭
  5. Swift 与 JSON 数据
  6. Flex通过Blazeds利用Remoteservice与后台java消息推送
  7. 一个女程序员的创业人生:胆识也是一种能力 作者:秋镇菜
  8. 关于VISIO工具栏、菜单栏消失的解决办法
  9. 学成在线--18.新增课程(课程分类查询)
  10. C语言中临时变量写在哪里,C语言中不允许创建临时变量,交换两个数的内容