本文章属于专栏- 概述 -《业界C++进阶建议整理》-CSDN博客
本章我会继续讲解我对本书最后的31-35条的极精简的理解。
- 31、让函数根据一个以上对象类型来决定如何虚化
- 场景是,一个基类对象Base,有三个派生类对象Derived_1, Derived_2, Derived_3,需要写一个函数fun(Base&, Base&),那函数内部的逻辑是根据对象类型决定的
- 个人见解:业务代码中,让基类有一个成员变量为type,在构建时设置type。这个方式不仅简单,而且可读性高,且性能好
- 32、在未来时态下发展程序
- 让类的成员函数,拥有最小可用范围。关注是否想让类被继承、作为基类时,想被继承哪些接口或者实现
- 将逻辑化的代码一般化(template)
- 设计不易错、且容易扩展的接口
- 个人见解:这里更多的是要依靠经验,在未来时态下发展程序只是其中一点,工期、成本、人员变动、性能、可读性等在项目的不同阶段中,都有可能成为最重要的考虑点。
- 33、将非尾端类设计为抽象类
- 为不想实例化的,加上纯虚函数
- 34、在一个程序中结合C++和C
- 个人见解:没有太多实质性的建议。实际开发中,会使用部分C库的接口,这几乎没有难度
- 35、让自己习惯C++语言标准
- 个人理解:学习c++11/14/17标准。形成一个自己掌控的代码开发能力范围,清晰自己开发的程序能力边界和未来扩展性,因为c++标准是多且繁琐的,运行在生产环境的代码稳定性永远是第一位,只运行在自己掌控范围内的规则