- 设计的接口最好使得当输入不规范的数据时产生语法错误。
- 尽量使得设计的数据类型的行为与其内置的built-in type一致。
- 当使用接口返回的数据可能会出错时,尽量将这种错误在接口设计的时候进行避免,例子如下。
Investment* createInvestment(); 这个函数返回一个Investment的动态分配对象
//1. 那么客户可能会忘记删除对象
//2. 可能删除这个对象超过一次
//3. 使用智能指针可以解决问题,但是也有可能忘记使用智能指针
//解决方案 接口设计时就返回一个智能指针 迫使用户必须使用智能指针来接收返回对象
std::shared_ptr<Investment> createInvestment();