💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
佳作导读 | 《C++ Core Guidelines》
《C++ Core Guidelines》由Bjarne Stroustrup和Herb Sutter等共同编写关于使用C++编程语言的指南;旨在提供关于如何使用C++进行高质量、可维护和可扩展的软件开发的建议;涵盖广泛的主题,包括代码风格、类型和函数设计、内存管理、并发性等;提供一系列的准则和最佳实践,帮助开发人员编写出更安全、更高效的C++代码
书籍导读
《C++ Core Guidelines》C++ 专家讲师Rainer Grimm提炼出Core Guidelines中的精髓,去除晦涩难懂的内容,分享了新的见解和背景,并提供了自己培训课程中经过充分测试的示例;对于便用 C++11及后续版本C++的有经验程序员,Grimm 能提供便利的帮助,使其用好oore Guidelines;《C++ Core Guidelines》大部分代码示例是为 C++17 编写的在合语的地方涵盖了更新版本和C++20,并提供对官方C++Core Guidelines在线版本的引用;无论是创建新软件还是改进旧代码,Grimm 都将帮助我们从Core Guidelines里最有用的规则中获取更多价值,使我们编写的代码更安全、更清晰、更高效,以及更易于维护
书籍内容
《C++ Core Guidelines》与其他同类书籍最大的区别我认为侧重于以下几点:
准则的广泛覆盖:C++ Core Guidelines涵盖了许多不同的主题,包括语言特性的使用、代码组织、异常处理、并发编程、内存管理等。这使得它成为一个全面的参考,能够指导开发者在各个方面编写高质量的C++代码
强调现代C++:指南鼓励开发者使用现代C++的特性和库。它提倡使用智能指针、范围循环、lambda表达式等现代C++特性,以及使用标准库中的容器、算法和其他组件。这有助于提高代码的可读性、可维护性和性能
设计原则的强调:C++ Core Guidelines强调了一些重要的设计原则,例如尽量避免使用裸指针、优先使用值语义、使用RAII等。这些原则有助于编写更安全、更可靠的代码,并避免一些常见的错误和陷阱
实例和示例代码:指南中提供了大量的实例和示例代码,以帮助开发者理解和应用准则。这些示例代码涵盖了各种情况和用例,使得开发者能够更好地理解如何将准则应用于实际代码中
超链接和引用:指南中包含了许多超链接和引用,指向了更深入的解释、讨论和相关资源。这使得开发者可以进一步扩展他们的知识,并深入了解特定主题的更多细节
不可变数据优先于可变数据
使用不可变数据的理由有很多。首先,当你使用常量时,你的代码更容易验证。常量也有更高的优化潜力。但最重要的是,常量在并发程序中具有很大的优势。不可变数据在设计上是没有数据竞争的,因为数据竞争的必要条件就是对数据进行修改
封装杂乱的构件,不要让它在代码中散布开
混乱的代码往往是低级代码,易于隐藏错误,容易出问题。如果可能的话,用 STL 中的高级构件(如容器或算法)来取代你的杂乱代码。如果这不可能,就把那些杂乱的代码封装到一个用户定义的类型或函数中去
适当使用辅助工具
计算机比人类更擅长做枯燥和重复性的工作。也就是说,应该使用静态分析工具、并发工具和测试工具来自动完成这些验证步骤。用一个以上的 C++ 编译器来编译代码一个编译器可能检测不到某种未定义行为,而另一个编译往往是验证代码的最简方式。器可能会在同样情况下发出警告或产生错误
总结
Core Guidelines以工具书的形式组织,便于查找和分享特定主题,不是作为按顺序阅读的教程,供读者学习如何使用现代C++; Rainer Grimm 运用他的教学技巧和业界背景来解决这一艰巨而必要的任务,方便更多的人了解这些规则
书籍
点击购买:《C++ Core Guidelines》
🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——
点赞
👍收藏
⭐️评论
📝