夏清然

夏清然的博客

他的个人主页  他的博客

Google C++ 风格指南 - 中文版

夏清然  2009年07月08日 星期三 11:48 | 1964次浏览 | 8条评论

Google 经常会发布一些开源项目, 意味着会接受来自其他代码贡献者的代码. 但是如果代码贡献者的编程风格与 Google 的不一致, 会给代码阅读者和其他代码提交这造成不小的困扰. Google 因此发布了这份自己的编程风格, 使所有提交代码的人都能获知 Google 的编程风格.

版本:3.133

原作者:
    Benjy Weinberger
    C++raig Silverstein
    Gregory Eitzmann
    Mark Mentovai
    Tashana Landray

翻译:
    YuleFox
    yospaly


项目主页:
    * Google Style Guide
    * Google 开源项目风格指南 - 中文版

目录

译者前言 

Google 经常会发布一些开源项目, 意味着会接受来自其他代码贡献者的代码. 但是如果代码贡献者的编程风格与 Google 的不一致, 会给代码阅读者和其他代码提交这造成不小的困扰. Google 因此发布了这份自己的编程风格, 使所有提交代码的人都能获知 Google 的编程风格.

翻译初衷:

规则的作用就是避免混乱. 但规则本身一定要权威, 有说服力, 并且是理性的. 我们所见过的大部分 编程规范 , 其内容或不够严谨, 或阐述过于简单, 或带有一定的武断性.

Google 保持其一贯的严谨精神, 5 万汉字的 指南 涉及广泛, 论证严密. 我们翻译该系列指南的主因也正是其严谨性. 严谨意味着指南的价值不仅仅局限于它罗列出的规范, 更具参考意义的是它为了列出规范而做的谨慎权衡过程.

指南 不 仅列出你要怎么做, 还告诉你为什么要这么做, 哪些情况下可以不这么做, 以及如何权衡其利弊. 其他团队未必要完全遵照指南亦步亦趋, 如前面所说, 这份指南是 Google 根据自身实际情况打造的, 适用于其主导的开源项目. 其他团队可以参照该指南, 或从中汲取灵感, 建立适合自身实际情况的规范.

我们在翻译的过程中, 收获颇多. 希望本系列 指南 中文版对你同样能有所帮助.

我们翻译时也是尽力保持严谨, 但水平所限, bug 在所难免. 有任何意见或建议, 可与我们取得联系.

中文版和英文版一样, 使用 Artistic License/GPL 开源许可.

中文版修订历史:
  • 2009-06 3.133 : YuleFox 的 1.0 版已经相当完善, 但原版在近一年的时间里, 其规范也发生了一些变化.

    yospaly 与 YuleFox 一拍即合, 以项目的形式来延续中文版 : Google 开源项目风格指南 - 中文版项目 .

    主要变化是同步到 3.133 最新英文版本, 做部分勘误和改善可读性方面的修改, 并改进排版效果. yospaly 重新翻修, YuleFox 做后续评审.

  • 2008-07 1.0 : 出自 YuleFox 的 Blog , 很多地方摘录的也是该版本.

背景 

C++ ++ 是 Google 大部分开源项目的主要编程语言. 正如每个 C++ 程序员都知道的, C++ 有很多强大的特性, 但这种强大不可避免的导致它走向复杂,使代码更容易产生 bug, 难以阅读和维护.

指南 的目的是通过详细阐述 C++ ++ 注意事项来驾驭其复杂性. 这些规则在保证代码易于管理的同时, 高效使用 C++ 的语言特性.

风格 , 亦被称作可读性, 也就是指导 C++ 编程的约定. 使用术语 “风格” 有些用词不当, 因为这些习惯远不止源代码文件格式化这么简单.

使代码易于管理的方法之一是加强代码一致性. 让任何程序员都可以快速读懂你的代码这点非常重要. 保持统一编程风格并遵守约定意味着可以很容易根据 “模式匹配” 规则来推断各种标识符的含义. 创建通用, 必需的习惯用语和模式可以使代码更容易理解. 在一些情况下可能有充分的理由改变某些编程风格, 但我们还是应该遵循一致性原则,尽量不这么做.

指南 的另一个观点是 C++ ++ 特性的臃肿. C++ 是一门包含大量高级特性的庞大语言. 某些情况下, 我们会限制甚至禁止使用某些特性. 这么做是为了保持代码清爽, 避免这些特性可能导致的各种问题. 指南中列举了这类特性, 并解释为什么这些特性被限制使用.

Google 主导的开源项目均符合本 指南 的规定.

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
张升起

回复 张升起  2009年08月11日 星期二 00:58

赶紧拜读

0条回复

盛艳

回复 盛艳  2009年08月06日 星期四 08:40

收藏个~

0条回复

向坤

回复 向坤  2009年08月05日 星期三 16:58

支持一个,虽然已经有了

1条回复

王虎

回复 王虎  2009年08月05日 星期三 15:12

好东西,顶一个。

0条回复

边疆

回复 边疆  2009年07月10日 星期五 16:23

谢谢分享~~好东西~~

1条回复

  • 夏清然

    回复 夏清然  2009年07月10日 星期五 16:25

    哈,你那里看到的好东西也多发到社区来与大家分享。

    0条回复

潘飞

回复 潘飞  2009年07月08日 星期三 16:44

good very

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号