C++编程规范

Herb Sutter

出版时间

2016-02-29

ISBN

9787115351357

评分

★★★★★
书籍介绍

在《C++编程规范:101条规则、准则与实践》中,两位知名的C++专家将全球C++界20年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。书中对每一条规范都给出了描述,并辅以实例说明;从类型定义到错误处理,都给出了C++实践,即使使用C++多年的程序员也会从本书中受益匪浅。

《C++编程规范:101条规则、准则与实践》适合于各层次C++程序员使用,也可作为高等院校C++课程的教学参考书。

Herb Sutter是ISO C++标准委员会主席,《C++ Users Journal》杂志特邀编辑和专栏作家。他目前在微软公司领导.NET环境下C++语言扩展的设计工作。

Andrei Alexandrescu是C++专家,《C++ Users Journal》杂志的专栏作家,他的《Modern C++ Design》一书曾荣获2001年C++图书称号。

AI导读
核心看点
  • 汇集C++界20年经验,提炼101条编程规范
  • 涵盖类型定义到错误处理,提供具体实践案例
  • 强调简单清晰优于复杂机巧,注重代码质量
适合谁读
  • 具备一定基础的C++初级及中级程序员
  • 需要制定团队开发规范的软件工程师
  • 希望提升代码质量与工程实践的开发者
读前提醒
  • 译文质量参差不齐,建议配合原版阅读
  • 部分内容与Effective C++系列存在重合
  • 部分技术细节可能随标准更新而显过时
读者共识
  • 内容精炼实用,是C++最佳实践的指南
  • 翻译晦涩难懂,阅读体验受到一定影响
  • 适合有实践经验的读者对照反思与改进

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "无法修改的库头文件可能包含引起警告(可能是良性的)的构造。如果这样,可以用自己的包含原头文件的版本将此文件包装起来,并有选择地为该作用域关闭烦人的警告,然后在整个项目的其他地方包含此包装文件。"
  • "软件简单为美:质量优于速度,简单优于复杂,清晰优于机巧,安全优于不安全。"
  • "如果能够证明优化必要而且非常重要,尤其在数据量逐渐增长的情况下,那么应该集中精力改善算法的O(N)复杂性,而不是进行小型的优化,比如节省一个多余的加法运算。"
  • "让一个正确的程序更快速,比让一个快速的程序正确,要容易得太多,太多。"
  • "许多类型要求对这种共享对象进行串行访问,但是有些类型却不要求这样。后者通常要么从设计中去掉加锁需求,要么自己进行内部加锁,无论哪种情况,仍然需要留意内部加锁粒度的局限。"
  • "在函数声明中,要避免将通过值传递的函数参数声明为const。"
  • "不要编写依赖于函数参数求值顺序的代码"
  • "将私有部分隐藏在一个不透明的指针(即指向已经声明但是尚未定义的类的指针,最好是选择合适的智能指针)"
作者简介
Herb Sutter是ISO C++标准委员会主席,《C++ Users Journal》杂志特邀编辑和专栏作家。他目前在微软公司领导.NET环境下C++语言扩展的设计工作。 Andrei Alexandrescu是C++专家,《C++ Users Journal》杂志的专栏作家,他的《Modern C++ Design》一书曾荣获2001年C++图书称号。
目录
组织和策略问题1
第0条不要拘泥于小节(又名:了解哪些东西不应该标准化)2
第1条在高警告级别干净利落地进行编译4
第2条使用自动构建系统7
第3条使用版本控制系统8

显示全部
用户评论
适合新手看
委员会主席写的 很好吧
effective c++ 有重复的地方。
虽然原作者有些过于喜欢用双关来作为每条的题目,但翻译的也太烂。 太邋遢,往往一条读了好几段了还不知道要说明什么问题,跟Effective系列真是没法比。内容也有好多重复的。STL相关的部分,Effective STL中都有。 工程实践方面的东西比较多吧,名字空间与模块,错误处理与异常等。
实践中我思考过的很多问题,终于有了一些答案,或者与大神巧然一致。不过有些章节翻译有问题,有些章节也不理解和认同,可能是因为实践还未遇到。然后原书也太老了,应该是零几年的书。要不然肯定能看到作者对异常、lambda表达式、常量表达式、原子操作等内容更新的理解。
虽然很多和effective 那本重合,但是还是很经典。但是还是忍不住想说为啥那么好的书推荐的人只看到陈硕一个人呢。。
最近重构代码,恰逢公司网络出问题,花了一天读完,书里正好谈到了几个痛点,恍然大悟!
C++还真是好多麻烦事儿
下载
收藏