GoogleC编程风格指南中文版.doc

GoogleC编程风格指南中文版.doc

ID:59396967

大小:341.00 KB

页数:60页

时间:2020-05-28

GoogleC编程风格指南中文版.doc_第1页
GoogleC编程风格指南中文版.doc_第2页
GoogleC编程风格指南中文版.doc_第3页
GoogleC编程风格指南中文版.doc_第4页
GoogleC编程风格指南中文版.doc_第5页
资源描述:

《GoogleC编程风格指南中文版.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GoogleC++编程风格指南译者前言Google经常会发布一些开源项目,意味着会接受来自其他代码贡献者的代码;但是如果代码贡献者的编程风格与Google的不一致,会给代码阅读者和其他代码提交这造成不小的困扰;Google因此发布了这份自己的编程风格,使所有提交代码的人都能获知Google的编程风格。翻译初衷:规则的作用就是避免混乱;但规则本身一定要权威,有说服力,并且是理性的;我们所见过的大部分编程规范,其内容或不够严谨,或阐述过于简单,或带有一定的武断性。Google保持其一贯的严谨精神,5万汉字的指南涉及广泛,论证严密;我们翻译该系列指南的主因也正是其严谨性;严谨意味着指南的价值不

2、仅仅局限于它罗列出的规范,更具参考意义的是它为了列出规范而做的谨慎权衡过程。指南不仅列出你要怎么做,还告诉你为什么要这么做,哪些情况下可以不这么做,以及如何权衡其利弊;其他团队未必要完全遵照指南亦步亦趋,如前面所说,这份指南是Google根据自身实际情况打造的,适用于其主导的开源项目;其他团队可以参照该指南,或从中汲取灵感,建立适合自身实际情况的规范。我们在翻译的过程中,收获颇多;希望本系列指南中文版对你同样能有所帮助。我们翻译时也是尽力保持严谨,但水平所限,bug在所难免;有任何意见或建议,可与我们取得联系。中文版和英文版一样,使用ArtisticLicense/GPL开源许可。中文版

3、修订历史:·2009-063.133:YuleFox的1.0版已经相当完善,但原版在近一年的时间里,其规范也发生了一些变化。yospaly与YuleFox一拍即合,以项目的形式来延续中文版:Google开源项目风格指南-中文版项目;主要变化是同步到3.133最新英文版本,做部分勘误和改善可读性方面的修改,并改进排版效果;yospaly重新翻修,YuleFox做后续评审。·2008-071.0:出自YuleFox的Blog,很多地方摘录的也是该版本。背景C++是Google大部分开源项目的主要编程语言;正如每个C++程序员都知道的,C++有很多强大的特性,但这种强大不可避免的导致它走向复杂

4、,使代码更容易产生bug,难以阅读和维护。本指南的目的是通过详细阐述C++注意事项来驾驭其复杂性.这些规则在保证代码易于管理的同时,高效使用C++的语言特性.风格,亦被称作可读性,也就是指导C++编程的约定.使用术语“风格”有些用词不当,因为这些习惯远不止源代码文件格式化这么简单.使代码易于管理的方法之一是加强代码一致性.让任何程序员都可以快速读懂你的代码这点非常重要.保持统一编程风格并遵守约定意味着可以很容易根据“模式匹配”规则来推断各种标识符的含义.创建通用,必需的习惯用语和模式可以使代码更容易理解.在一些情况下可能有充分的理由改变某些编程风格,但我们还是应该遵循一致性原则,尽量不这

5、么做.本指南的另一个观点是C++特性的臃肿.C++是一门包含大量高级特性的庞大语言.某些情况下,我们会限制甚至禁止使用某些特性.这么做是为了保持代码清爽,避免这些特性可能导致的各种问题.指南中列举了这类特性,并解释为什么这些特性被限制使用.Google主导的开源项目均符合本指南的规定.注意:本指南并非C++教程,我们假定读者已经对C++非常熟悉.1.头文件通常每一个.cc文件都有一个对应的.h文件.也有一些常见例外,如单元测试代码和只包含main()函数的.cc文件.正确使用头文件可令代码在可读性、文件大小和性能上大为改观.下面的规则将引导你规避使用头文件时的各种陷阱.1.1.#defi

6、ne保护Tip所有头文件都应该使用#define防止头文件被多重包含,命名格式当是:___H_为保证唯一性,头文件的命名应该依据所在项目源代码树的全路径.例如,项目foo中的头文件foo/src/bar/baz.h可按如下方式保护:#ifndefFOO_BAR_BAZ_H_#defineFOO_BAR_BAZ_H_…#endif//FOO_BAR_BAZ_H_1.2.头文件依赖Tip能用前置声明的地方尽量不使用#include.当一个头文件被包含的同时也引入了新的依赖,一旦该头文件被修改,代码就会被重新编译.如果这个头文件又包含了其他头文件,这些

7、头文件的任何改变都将导致所有包含了该头文件的代码被重新编译.因此,我们倾向于减少包含头文件,尤其是在头文件中包含头文件.使用前置声明可以显著减少需要包含的头文件数量.举例说明:如果头文件中用到类File,但不需要访问File类的声明,头文件中只需前置声明classFile;而无须#include"file/base/file.h".不允许访问类的定义的前提下,我们在一个头文件中能对类Foo做哪些操作?·我们可以将数据成员类型声明为F

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。