收集最佳 C++ 实践
作者:互联网
初学者
- 现代 Cpp 启动器。启动您的 C++!使用 CMake、CI、代码覆盖率、clang 格式、可重现的依赖管理等的现代 C++ 项目模板。
- gui_starter_template。这是一个 C++ 最佳实践 GitHub 模板,用于快速启动和运行 C++。
学习C++的项目
注意自我。如果我以后写一篇关于收集到的信息的文章,我需要用 PVS-Studio 检查这些和其他建议的项目。图书馆是不同的,你知道的……我不想推荐一些可能有问题的东西作为一个例子。
- 勤奋的引擎。现代跨平台低级 3D 图形库和渲染框架推文。
- 现代 C++ 的 JSON。直观的语法。琐碎的整合。严肃的测试。内存效率。速度。
- Stroika是一个现代的、可移植的、精通线程的 C++ 应用程序框架。它通过提供安全、灵活、模块化的构建块使编写高性能 C++ 应用程序变得更加容易。
- 并发。C++ 的现代并发。任务、执行器、计时器和 C++20 协程来统领它们。
- 真棒 hpp。精选的仅标头 C++ 库的精选列表。
加快构建
- 在这里,我邀请您阅读我同事的文章“加速 C 和 C++ 项目的构建”。
- 关于这个话题有各种新旧讨论。我很高兴能从您那里了解到关于这个话题的新的、有趣的事情。提前致谢。
编码标准和风格指南
- C++ 核心指南是由 Bjarne Stroustrup 领导的协作成果,与 C++ 语言本身非常相似。它们是许多组织多年讨论和设计的结果。
- C++ 最佳实践的协作集合。该在线资源是 Jason Turner 的 C++ 最佳实践资源集的一部分。顺便说一句,因为我提到了 Jason,这里是他的C++ Weakly频道的链接。
- 谷歌 C++ 风格指南。本指南的目标是通过详细描述编写 C++ 代码的注意事项来管理这种复杂性。这些规则的存在是为了使代码库易于管理,同时仍然允许编码人员高效地使用 C++ 语言功能。
动态代码分析
- AddressSanitizer发现内存错误。
- LeakSanitizer搜索内存泄漏。
- ThreadSanitizer检测数据竞争和死锁。
- MemorySanitizer寻找未初始化的内存。
- HWASAN或 Hardware-assisted AddressSanitizer,一种使用较少内存的 AddressSanitizer 的新变体。
- UBSan在程序中发现未定义的行为。
静态代码分析器
- 这里我就装傻,只提一下我们的PVS-Studio。好吧,为什么不呢?这是一个美妙而强大的静态代码分析器。即使在编写 C++ 代码的阶段,该工具也能帮助发现许多错误和潜在漏洞。
- 去做。我也很高兴听到您使用其他静态代码分析器的成功经验。
书籍和其他参考资料
- 我总是推荐大家阅读 Steve McConnell 的 Code Complete (ISBN 0–7356–1967–0)。
- C++ 最佳实践(2019)。
- 编程、重构和一切的终极问题。
- C++ 编码标准:101 条规则、指南和最佳实践。
- 斯科特迈耶斯。Effective C++:改进程序和设计的 55 种具体方法(第 3 版)。
- 斯科特迈耶斯。有效的现代 C++:改进 C++11 和 C++14 使用的 42 种具体方法”。
现在轮到你了
请分享您认为对 C++ 程序员有用的所有内容!