编程最佳实践
1. 減少代碼量,少給自己找麻煩
2. 單一抽象層次
1、一個(gè)函數(shù)/方法中所有操作處于相同邏輯層次。 2、太多不同層級的抽象,高層和底層雜合在一起,導(dǎo)致細(xì)節(jié)太多 3、如何判斷單一層次,參考金字塔原理Function 放大象進(jìn)入冰箱(){舉起胳膊;伸手進(jìn)冰箱把手;五個(gè)手指握緊; Function 放大象進(jìn)入冰箱(){手用例拉回一米; 打開冰箱門();while(冰箱門<90度) 手再度拉回20厘米; ==> 推動(dòng)大象();推動(dòng)大象(); 關(guān)閉冰箱門();......; }if(門關(guān)不上){抬腳();用力踹大象皮鼓();用力關(guān)門();}.....}3. 最小化縮進(jìn) 避免超過3層的嵌套
void func1(void){if(IsWorkDay()){print("Error, is work day"); if(IsWorkDay()){}else{ print("Error, is work day");if(IsWorkTime()){ return;print("Error, is wirk day"); ==> }}else{ if(){businessdealwith(); print("Error, is work time");} return;} } }4. 清晰表達(dá)式
if( fasle == req->getDestAddress().IsUseFulAddr() ){...... }||\/ if( CouSTOME_ROUTE() ){return ..... }5. 善用輔助類拆分 類太大或封裝類容太多
職責(zé)多的類就像職責(zé)多的領(lǐng)導(dǎo),領(lǐng)導(dǎo)需要秘書和助理,因?yàn)槟軒皖I(lǐng)導(dǎo)從瑣事中借方出來。巨型類也一樣, 需要輔助類把與主業(yè)務(wù)邏輯無關(guān)的事移除出去。不產(chǎn)生數(shù)據(jù)的函數(shù),不修改數(shù)據(jù)的函數(shù),或輸入就有明確輸出的函數(shù),不和外部對象交互的函數(shù)。轉(zhuǎn)載于:https://www.cnblogs.com/Desneo/p/7212069.html
總結(jié)
- 上一篇: servlet的几个函数
- 下一篇: 如何简单的测试kubernetes的dn