在未来时态下发展程序
所谓的未来时态就是接受事物总会改变的事实,并准备应对之道。我们应该以C++本身来表现各种规范而不是简单的以注释和说明文档的形式:
如果我们的类不想被继承那么我们就可以把构造函数以及复制构造函数声明为private(这样的函数不能够被构造),然后再类中声明我们自己的伪构造函数。
如果一个class必须生成在heap内,在不被继承的情况下我们可能考虑把对象的析构函数声明为private.如果要禁止各种情况,基本都是不可能的。如果我们只是需要追踪,我们需要继承HeapTracked基类,主要是利用一个存虚的基类来达到追踪对象的目的,记录每次被动态分配的地址。
如果一个对象不想被复制,请让他的类继承uncopyable.
请努力让程序作出自然地语法和直观的意义。请和内建的类型保持一致:如果有问题,不妨看看Ints的表现。典型的是++的前置实现与后置实现 后置返回一个const以避免如此的语法++++,前置返回不带const.
提供完整的classes 即使某些部分目前用不到,但是当新的需求进来的时候,不太需要回头去修改那些class。
设计接口,是我们的软件容易被使用,不宜被误用。
尽量让你的代码一般化。