1 很好的理解一條原理,對它形成一個看法
2 爲了將來的方便 重用代碼
3 像用戶一樣設計並遵循你的接口
4 將數據域聲明爲受保護類型
5 測試代碼中的斷言
6 保持接口的一致性會使得數據結構更加好用
7 對稱性是很有用的原理
8 對象的任何一個公共方法都應該使得對象處於一個一致的狀態
9 對非對稱性提出質疑
10 理解所有數據結構的複雜度
11 儘可能的使用最通用的類型來聲明重載方法的參數
12 通過將數值賦給一個臨時變量,來避免對同一個對象進行多次強制轉換
13 以不同的角度來考慮代碼
14 不要在接口中顯示出對應引用
15 編寫的方法儘可能通用
16 對一個自然接口只進行符合自然規律的擴展
17 尋求摩擦較小的數據結構
18 將與對象無關的方法聲明爲靜態
19 爲所實現的對象提供一個散列方法
20 相等的對象應該返回相同的散列碼
21 和不完美戰鬥到底