《C++编程规范:101条规则、准则与最佳实践》——导读

简介: 许多糟糕的编程规范都是由一些没有很好地理解语言、没有很好地理解软件开发或者试图标准化过多东西的人制定的。糟糕的编程规范会很快丧失可信度,如果程序员不喜欢或者不同意其中一些糟糕的准则,那么即使规范中有一些合理的准则,也可能被不抱幻想的程序员所忽略,这还是最好的情况,最坏的情况下,糟糕的标准可能真会被强

前言

C++编程规范:101条规则、准则与最佳实践
尽早进入正轨:以同样的方式实施同样的过程。不断积累惯用法。
将其标准化。如此,你与莎士比亚之间的唯一区别将只是掌握
惯用法的多少,而非词汇的多少。

——Alan Perlis[1]}

标准最大的优点在于,它提供了如此多样的选择。

——出处尚无定论

我们之所以编写本书,作为各开发团队编程规范的基础,有下面两个主要原因。

编程规范应该反映业界最久经考验的经验。它应该包含凝聚了经验和对语言的深刻理解的公认的惯用法。具体而言,编程规范应该牢固地建立在大量丰富的软件开发文献的基础之上,把散布在各种来源的规则、准则和最佳实践汇集在一起。
不可能存在真空状态。通常,如果你不能有意识地制定合理的规则,那么就会有其他人推行他们自己喜欢的规则集。这样产生的编程规范往往具有各种最不应该出现的属性。例如,许多这样的编程规范都试图强制尽量少地按C语言的方式使用C++。
许多糟糕的编程规范都是由一些没有很好地理解语言、没有很好地理解软件开发或者试图标准化过多东西的人制定的。糟糕的编程规范会很快丧失可信度,如果程序员不喜欢或者不同意其中一些糟糕的准则,那么即使规范中有一些合理的准则,也可能被不抱幻想的程序员所忽略,这还是最好的情况,最坏的情况下,糟糕的标准可能真会被强制执行。

第一章组织和策略问题

1.1不要拘泥于小节 (又名:了解哪些东西不应该标准化)
1.2:在高警告级别干净利落地进行编译
1.3使用自动构建系统
[1.4使用版本控制系统
](https://yq.aliyun.com/articles/92682)
1.5做代码审查

《C++编程规范:101条规则、准则与最佳实践》——第2章设计风格

2.1一个实体应该只有一个紧凑的职责
2.2 正确、简单和清晰第一
2.3编程中应知道何时和如何考虑可伸缩性
2.4不要进行不成熟的优化
2.5 不要进行不成熟的劣化
2.6尽量减少全局和共享数据
2.7 隐藏信息
2.8懂得何时和如何进行并发性编程
2.9 确保资源为对象所拥有。使用显式的RAII和智能指针

相关文章
|
1月前
|
存储 安全 算法
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
【C++智能指针 相关应用】深入探索C++智能指针:跨进程、动态库与最佳实践
86 5
|
1月前
|
存储 算法 数据库
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
155 0
|
1月前
|
编译器 程序员 API
【C++ auto推导】C++中的auto关键字及其推导规则
【C++ auto推导】C++中的auto关键字及其推导规则
72 0
|
1月前
|
消息中间件 负载均衡 监控
【ZMQ PUB模式指南】深入探究ZeroMQ的PUB-SUB模式:C++编程实践、底层原理与最佳实践
【ZMQ PUB模式指南】深入探究ZeroMQ的PUB-SUB模式:C++编程实践、底层原理与最佳实践
586 1
|
1月前
|
NoSQL API Redis
最佳实践|如何使用c++开发redis module
本文将试着总结Tair用c++开发redis module中遇到的一些问题并沉淀为最佳实践,希望对redis module的使用者和开发者带来一些帮助(部分最佳实践也适用于c和其他语言)。
76415 0
|
1月前
|
存储 算法 测试技术
|
1月前
|
程序员 编译器 C++
|
1月前
|
安全 vr&ar C++
C++:编程语言的演变、应用与最佳实践
C++:编程语言的演变、应用与最佳实践
|
1月前
|
C语言 C++
C++|运算符重载(2)|运算符重载的方法与规则
C++|运算符重载(2)|运算符重载的方法与规则
|
1月前
|
存储 Java C++
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
21 1