从缺陷中学习C_C++ - (EPUB全文下载)

文件大小:0.42 mb。
文件格式:epub 格式。
书籍内容:

从缺陷中学习C/C++
Lessons Learned from C/C++ Defects
刘新浙 刘玲 王超 李敬娜 等 编著
人民邮电出版社
北京
本书作者
主要编著人员:
刘新浙、刘玲、王超、李敬娜、李爱华、陈足先。
其他编著人员:
谭淑丹、曹恒智、付英。
素材提供者:
刘新浙、刘玲、刘晓俊、王艳、李爱华、黄元君、谭淑丹、杨晓霞、王竟时、王超、李颖、曹恒智、李敬娜、陈足先、刘云卿、刘霏暄、郜翔、陶旭颖。
致谢
本书在编写过程中得到了很多人的帮助。
除本书作者外,原淘宝北京搜索与广告算法测试小组的很多同事都参与了本书的审查工作,提出了文字等方面的一些改进建议,在此一并表示深深的感谢。在本书编写过程中,淘宝公司技术研发部尤其搜索技术部的一些同事,也给予了一些中肯的意见和反馈,在此表示衷心的感谢。
另外,要特别感谢淘宝公司北京测试部门负责人刘立川先生,没有他的鼓励和督促,作者可能就不会在两年多的写作中坚持下来,这本书可能就不会出版面世。
在本书即将出版时,我们非常荣幸地邀请到了著名计算机专家潘爱民老师为本书做推荐序。潘老师在百忙之中抽出时间通读本书,并作序,还给予了非常专业的修改意见,这让本书受益良多。
最后,感谢人民邮电出版社的编辑,在本书出版过程中出谋划策,给予了很专业的建议,并促成了本书的最终顺利出版。
编者

C++是易学难用的语言。经过20多年的发展,C++已经变得极为复杂,很多语言特性看似优美,但给工程上带来了很大的挑战。因此,如何在工程项目中用好C++语言,并不像通过一本教程来学会写C++程序那么简单,这是一个不断积累经验和吸取教训的过程。工程上推荐使用的往往是C++大量语言特性的一个子集,原因是为了避免在工程项目中埋下各种陷阱。
譬如,Google是一家重度使用C++的公司,它有许多开源软件(如Android)使用了C++语言。Google公开了一份“Google C++ Style Guide——Google C++编程风格指南”,阐明了在Google的项目中如何有效地使用C++,应遵守哪些规范,以避免各种可能的陷阱。Google的这份指南值得工程线上的C++程序员认真阅读。阿里巴巴也是一家重度使用C++的公司,内部有大量的工程用到了C++语言。虽然阿里巴巴集团没有统一的C++编程指导,但各个团队都在摸索并制定出符合自己需要的编程规范,处于快速积累经验的过程中。很高兴淘宝广告技术部的测试团队很早就意识到了C++语言在工程中的诸多陷阱,并有意识地将其收集和整理出来,这就是你看到的这本书。
《从缺陷中学习 C/C++》这本书收集并整理了 102 个实例,这些实例都来自于工程一线实践,虽然大多数看起来像是初学者犯的低级错误,但实质上有一定的代表性,有的错误根源是对C++机制的不理解或者编译过程中的副作用,或者是对C++标准库的实现依赖。通过阅读这些实例,你可以对C++有更细致的理解。
当刘新浙邀请我为本书作序时,我欣然答应,并有幸成为这本书的第一个读者。当时觉得难能可贵的一点是,这样一本书并非是深入研究C++工程多年的C++高手在指点技术,而是一群懂C++的测试工程师在跟开发工程师探讨如何避免C++语言本身的各种缺陷。这个角度提炼出来的知识,真正是千金难买,因为他们是从“地雷阵”上走过来分享教训的。
我认真阅读了所有的实例,颇有收获,也愿意推荐给每一位在工程线上从事C++编程工作的工程师。若能够结合本书与“Google C++ Style Guide——Google C++编程风格指南”一起阅读,我相信一定会有相得益彰之成效。
潘爱民
于杭州
前言
这是一本在研究大量C/C++程序Bug基础上集结而成的书!
这是一本汇集众多一线C/C++编程人员智慧的书!
这是一本让您学好C/C++,绕过编程陷阱和障碍的必备案头书!
为什么写这样一本书
▪在不同的项目或产品中,不同的开发人员重复着同样的Bug,甚至同一个人重复相同的Bug。如果将时间周期拉得更长一些看:一个程序员,从刚毕业参加工作到具备丰富编程经验,从一个新手到成为专家,在这个过程中,每个人都在重复着前人走过的弯路,重复着同样的编程错误。测试人员在日常工作中积累了大量验证Bug方面的经验,这些Bug是有价值的,总结出来可以让更多人受益。
▪C/C++是软件/互联网行业最常用的编程语言之一,相对其他语言学习难度高,从新手到专家往往需要多年的磨练。另一方面,C/C++开发的系统往往更容易产生严重的生产事故,一旦出现事故,定位问题根源也比较困难。所以,每一个程序员掌握扎实的C/C++基础知识,对于构建稳定可靠的生产系统非常重要。我们希望通过这本书帮助C/C++程序员以最快速度全面了解C/C++编程中的陷阱,编写健壮可靠的代码,从而达到提高软件质量、减少生产故障、提高工作效率的目的。
相对其他C/C++类书籍,本书有以下特点和优势:
▪从具体Bug中学习
全书由102个案例组成,每个案例分析一个Bug。读者掌握了一个案例就是掌握了一个知识点,就能避免一类问题。由于是从具体Bug案例中学习,这种学习方式更直接,更让人印象深刻。普通的C/C++编程书,即便看完后,写代码时也无法避免Bug,这是因为,书虽然看完了,知识也理解了,但你并不知道哪里有陷阱。
▪来源于工程实战的宝贵经验
本书中的所有案例都来自于软件/互联网行业开发生产中遇到的实际问题,都是在前人的错误和弯路中总结出来的实战经验,堪称C/C++编程方面的“干货”。
▪学习起来更有成就感
本书由一个个案例组成,在每个案例中,先给出错误代码示例,然后描述Bug的现象和后果,随后对该Bug进行具体分析,最后给出解决方案及建议。这种案例分析式的组织方式,会引导读者先对案例中提出的问题进行思考,当看到案例分析和解决方案时常常有恍然大悟的感觉,让学习过程变得简单,并充满乐趣。
▪更宽的知识面
一个C/C++程序员即使工作多年,由于受所接触项目和技术方向的限制,视野(C/C++编程中值得注意的知识点)往往是有 ............

书籍插图:
书籍《从缺陷中学习C_C++》 - 插图1
书籍《从缺陷中学习C_C++》 - 插图2

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 从缺陷中学习C_C++ - (EPUB全文下载)