- 設計的接口最好使得當輸入不規(guī)范的數據時產生語法錯誤。
- 盡量使得設計的數據類型的行為與其內置的built-in type一致。
- 當使用接口返回的數據可能會出錯時,盡量將這種錯誤在接口設計的時候進行避免,例子如下。
Investment* createInvestment(); 這個函數返回一個Investment的動態(tài)分配對象
//1. 那么客戶可能會忘記刪除對象
//2. 可能刪除這個對象超過一次
//3. 使用智能指針可以解決問題,但是也有可能忘記使用智能指針
//解決方案 接口設計時就返回一個智能指針 迫使用戶必須使用智能指針來接收返回對象
std::shared_ptr<Investment> createInvestment();