python 函數(shù)式編程 為什么很多程序員不用switch,而是大量的if……else if?
為什么很多程序員不用switch,而是大量的if……else if?答案:主要因?yàn)閟witch不適合業(yè)務(wù)系統(tǒng)的實(shí)際復(fù)雜需求,業(yè)務(wù)不斷的變更迭代,一更改需求,條件的復(fù)雜度高了,switch無力處理。sw
為什么很多程序員不用switch,而是大量的if……else if?
答案:主要因?yàn)閟witch不適合業(yè)務(wù)系統(tǒng)的實(shí)際復(fù)雜需求,業(yè)務(wù)不斷的變更迭代,一更改需求,條件的復(fù)雜度高了,switch無力處理。
switch優(yōu)點(diǎn)
那么什么時候適合switch,它的場景是:基于單一變量的值(如枚舉),這樣的可讀性比if條件更清晰。
switch缺點(diǎn)
從上面的場景來看,實(shí)在太局限,我來簡單說一下它的一些缺點(diǎn)吧:
1. 現(xiàn)實(shí)的業(yè)務(wù)場景很復(fù)雜,條件不單一,一旦需求變更,維護(hù)代碼相當(dāng)崩潰。
2. switch經(jīng)常忘記寫break,估計(jì)很多人一不小心就忘記寫了。如果你看過google的代碼規(guī)范,你會發(fā)現(xiàn),Google對switch的要求非常多。
switch的封裝才更靈活
其實(shí)switch有人還在用也有一部分是歷史原因,但是隨著科技的發(fā)展,原有的設(shè)計(jì)以及落后了。
有些編程語言,如Python都沒有switch這種語法。當(dāng)然也有部分新語言Golang和Kotlin還是繼承下來,但是又把switch包裝了一下,去掉了令人誤會的語法,這才讓switch變得靈活起來了。 如果不封裝,很難用。
IF語句的好處
通過上面描述的缺點(diǎn)也就是if語句更靈活的地方,根據(jù)業(yè)務(wù)進(jìn)行邏輯條件編寫,可維護(hù)性高。同時只要寫的代碼質(zhì)量高,可讀性也就會更高。
建議
現(xiàn)實(shí)的業(yè)務(wù)實(shí)際是很復(fù)雜的,我也不建議一定要用大量的if……else if,而是應(yīng)該盡早返回來減少嵌套,這樣增加了可讀性以及降低維護(hù)的成本。
真的能一周學(xué)會Python編程語言嗎?
不需要一周。
如果你有java或者其他編程語言的基礎(chǔ),一下午夠了。
我只用了一下午快速的過了一下教程,就開始動手寫項(xiàng)目了。
python很強(qiáng)大,入門非常容易。在使用的過程中,對于它的精妙之處,再慢慢學(xué)習(xí)研究。