1、函數應該短小,最多20行
每個函數的縮進不應該多於兩層
2、只做一件事
幾個步驟都在函數名下
To do函數名,步驟1,步驟2。。。
只做一件事的函數無法被劃分成多個區段。
3、每個函數語句都應在同一抽象級上。
4、讓每個函數後面跟着位於下一抽象層級的函數。
使得代碼有自頂向下的閱讀順序。
5、swith不滿足單一職責、開閉原則。應該講swith放入抽象工廠。
6、取名取描述性的長名字
7、函數參數越少越好。無參數或單參數最佳。
8、函數應遵循返回參數,避免有輸入無輸出的函數。
9、避免二元函數。可改成成員變量或方法。
10、如果函數需要多個參數,則應把一些參數封裝成類。
11、時序性耦合
有抹除數據的風險,違法了單一職責
12、把指令與詢問分割開來。
13、使用try catch代替返回錯誤碼
抽離try catch的主體