发表于2025-01-13
C++编程规范(C++ Coding Standards)
Herb Sutter and Andrei Alexandrescu
101个准则、指导方针,和最佳实践
坚实而高品质的编程规范(coding standards)可以改善软体品质,提早产品上市,助长团队合作,把时间用在重要且合理的事情上,并且简化维护。当今全球最受瞩目的两位C++ 专家从全世界无数C++ 社群的丰富经验中提炼出一整组编程规范,让每一位开发人员和团队都能够了解并用来做为他们自己的编程规范的基础。
两位作者涵盖了C++ 编程的几乎每一个面向:设计和撰码风格(design and coding style)、函式(functions)、运算子(operators)、class设计、继承(inheritance)、建构/解构(construction/destruction)、拷贝(coping)、赋值(assignment)、命名空间(namespaces)、模块(modules)、模板(templates)、泛型(genericity)、异常(exceptions)、STL容器和演算法(containers and algorithms),以及更多内容,并搭配实际范例。从型别定义(type definition)到错误处理(error handling),本书呈现C++的最佳实践,包括某些纵使你使用C++ 多年也不一定知晓,最近才获确认及标准化的技术。循此方向,你将发现诸如此类的问题解答:
● 什么东西值得被标准化?什么不值得?
● 什么是写出伸缩性程式码(code for scalability)的最佳手段?
● 什么是合理的错误处理策略(error handling policy)的要素?
● 如何(以及为什么)避免非必要的初始化和循环相依(cyclic dependencies)?
● 何时(以及如何)应该同时使用静态和动态多型(static and dynamic polymorphism)?
● 如何实践安全的覆写("safe" overriding)?
● 何时应该提供一个no-fail swap?
● 为什么应该(以及如何)阻止异常跨模块边界(across module boundaries)传播?
● 为什么不该在表头档内写namespace的宣告式或指令(declarations or directives)?
● 为什么应该使用STL的vector和string来取代arrays?
● 如何选择正确的STL search或sort演算法?
● 应该遵循什么规则来保证type-safe程式码?
不论个人或团队,本书助你写出更干净的程式码 — 而且更快写出,带着更少的困难和挫败。
Herb Sutter是三本受高度赞扬的书籍的作者,它们分别是《Exceptional C++ Style》、《Exceptional C++》和《More Exceptional C++》(Addison Wesley)。他目前是C++ 标准委员会主席,也是C/C++ User Journal的特约编辑和专栏作家。作为Microsoft的软体架构师(software architect),Sutter目前正领导设计C++ language extensions for .NET programming。
Andrei Alexandrescu是获誉无数的《Modern C++ Design》(Addison Wesley, 2001)一书作者,以及C/C++ User Journal专栏作家。
C++编程规范 pdf epub mobi txt 电子书 下载 2025
C++编程规范 pdf epub mobi txt 电子书 下载