關於分支過多的情況處理???

2022-10-09 12:15:10 字數 931 閱讀 6415

關於條件分支過多的情況,有什麼好的、比較通用的解決方案?下面這個例子來說明一下情況

//購物車中的乙個商品

$data = ;

//判斷是否上架

if()

else

}else

}else

else if()

else

}else}}

}關於條件分支過多的情況,有什麼好的、比較通用的解決方案?下面這個例子來說明一下情況

//購物車中的乙個商品

$data = ;

//判斷是否上架

if()

else

}else

}else

else if()

else

}else}}

}

例子//bad:

//判斷是否上架

if()

}//good:

if(!上架)

if(!庫存足夠)

***//bad:

//判斷是否有優惠活動

if()

else

}else

}//good

price = 計算優惠(user, item)

function 計算優惠(user, item)

if(vip = 獲取vip會員(user))

return item.price;

}就說電商活動的場景,優惠疊加/互斥,積分啊什麼的需求可能複雜到抽方法也理不清楚,這時候可能就要把結構再理清楚一點

每種改變**/增減積分的方法都實現成職責鏈的一環串起來就好,每一環都有許可權執行自己的邏輯,對**進行修改,跳過其他環節等等

1.使用衛術句,提前return。

2.使用陣列或字典,避免分支

3.使用設計模式

TIME WAIT過多的處理方法

之所以起這樣乙個題目是因為很久以前我曾經寫過一篇介紹time wait的文章,不過當時基本屬於淺嘗輒止,並沒深入說明問題的來龍去脈,碰巧這段時間反覆被別人問到相關的問題,讓我覺得有必要全面總結一下,以備不時之需。討論前大家可以拿手頭的伺服器摸摸底,記住 ss 比 netstat 快 shell ss...

過多的ajax請求處理方案

1,定乙個全域性變數來儲存當前所有要執行的ajax請求,作為乙個佇列,只不過這個佇列有且只有乙個存在並執行。2,每次要新建並開始乙個請求是,遍歷這個請求陣列,把之前已經存在的全部停止,把新的請求放進去。這樣能保證不會有過多的ajax請求被發起。var yourquerycontainer new a...

Mysql連線錯誤過多的問題處理

1.mysql連線錯誤太多 sequelizeconnectionerror host xx.xx.xx.xx is blocked because of many connection errors unblock with mysqladmin flush hosts 檢視最大錯誤連線數 mys...