C++ 最佳实践 | 4. 可维护性
本系列是开源书C++ Best Practises的中文版,全书从工具、代码风格、安全性、可维护性、可移植性、多线程、性能、正确性等角度全面介绍了现代 C++项目的最佳实践。本文是该系列的第四篇。
可维护性
避免使用编译宏
宏在编译之前被预处理器所替换,从而使得调试非常困难,因为调试器无法知道源代码来自哪里。
避免使用布尔值作为函数参数
在阅读代码时,布尔值无法提供任何额外含义。可以创建一个名称更有意义的独立函数,或者传递含义更明确的枚举值。
参考 http://mortoray.com/2015/06/15/get-rid-of-those-boolean-function-parameters 了解更多信息。
避免使用裸循环
了解和理解现有 C++标准算法,并付诸实践。
将对[]
的调用看作是一种潜在的代码坏味道,表明没有在需要的地方使用合适的算法。
永远不要使用有副作用的assert
在 release 版本中assert()
将会被删除,从而造成set_value
无法被调用。
虽然第二个版本更丑,但总比第一个错误版本好一点。
正确使用“override”和“final”
这些关键字使其他开发人员可以清楚知道虚函数可以被如何使用,如果虚函数的签名发生了变化,就可以捕获潜在错误,并有可能向编译器提示可以执行哪些优化(参考: How does the compiler benefit from C++'s new final keyword?)。
你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind
版权声明: 本文为 InfoQ 作者【俞凡】的原创文章。
原文链接:【http://xie.infoq.cn/article/0aa8f4e96c06f7885e7c72306】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论