什么是編程 為什么很多程序員不用switch,而是大量的if……else if?
為什么很多程序員不用switch,而是大量的if……else if?答:主要是因?yàn)榻粨Q機(jī)不適合實(shí)際復(fù)雜的業(yè)務(wù)系統(tǒng)需求。業(yè)務(wù)在不斷變化和迭代。一旦需求發(fā)生變化,條件的復(fù)雜性就很高,交換機(jī)無法處理。開關(guān)何
為什么很多程序員不用switch,而是大量的if……else if?
答:主要是因?yàn)榻粨Q機(jī)不適合實(shí)際復(fù)雜的業(yè)務(wù)系統(tǒng)需求。業(yè)務(wù)在不斷變化和迭代。一旦需求發(fā)生變化,條件的復(fù)雜性就很高,交換機(jī)無法處理。
開關(guān)何時(shí)合適?它的場(chǎng)景是基于單個(gè)變量的值(例如枚舉),這比if條件更可讀。
從上面的場(chǎng)景來看,它太有限了。讓我簡(jiǎn)單地談?wù)勊囊恍┤秉c(diǎn):
1。真正的業(yè)務(wù)場(chǎng)景非常復(fù)雜,條件也不單一。一旦需求發(fā)生變化,維護(hù)代碼就會(huì)崩潰。
2. 開關(guān)經(jīng)常忘記寫中斷。據(jù)估計(jì),很多人都忘了粗心地寫。如果你看看Google的代碼規(guī)范,你會(huì)發(fā)現(xiàn)Google對(duì)switch有很多要求。
事實(shí)上,有些人仍然使用交換機(jī),這部分是由于歷史原因。然而,隨著科學(xué)技術(shù)的發(fā)展,原有的設(shè)計(jì)和設(shè)計(jì)都相對(duì)滯后。
某些編程語(yǔ)言(如python)沒有開關(guān)語(yǔ)法。當(dāng)然,一些新的語(yǔ)言golang和kotlin仍然是繼承的,但是switch被打包了,被誤解的語(yǔ)法被刪除了,這使得switch更加靈活。沒有包裝很難使用。
通過上述缺點(diǎn),即if語(yǔ)句更加靈活,并且根據(jù)業(yè)務(wù)邏輯條件編寫,可維護(hù)性高。同時(shí),只要代碼質(zhì)量高,可讀性就會(huì)更高。
實(shí)際業(yè)務(wù)非常復(fù)雜,我不建議您必須使用大量的if,相反,它應(yīng)該盡快返回以減少嵌套,從而增加可讀性并降低維護(hù)成本。
R5 3600X學(xué)習(xí)編程夠用嗎?
毫無疑問,這個(gè)CPU是高端的。有了這樣高端的大腦,比如像編程這樣的小案例,當(dāng)然。換句話說,如果只是為了學(xué)習(xí)編程,那就有點(diǎn)資格過高了。由于編程對(duì)計(jì)算機(jī)配置的要求不高,與圖形圖像處理、動(dòng)畫設(shè)計(jì)、影視編輯等不同,它對(duì)CPU、內(nèi)存、顯卡等有很高的要求,普通的計(jì)算機(jī)配置很容易應(yīng)付編程。對(duì)于專業(yè)軟件工程師來說,如果電腦配置更高,工作效率也會(huì)更高。
當(dāng)然,由于編程領(lǐng)域的分類越來越細(xì),不同的領(lǐng)域?qū)τ?jì)算機(jī)硬件配置有不同的要求,有些編程領(lǐng)域?qū)τ?jì)算機(jī)硬件也有更高的要求。
目前,編程涉及以下方面:1。網(wǎng)絡(luò)開發(fā)。Web開發(fā)是一個(gè)非常重要的開發(fā)領(lǐng)域,涉及前端開發(fā)和后端開發(fā)兩部分。一般來說,普通的計(jì)算機(jī)配置可以滿足發(fā)展的需要。
2. 人工智能和大數(shù)據(jù)。這種開發(fā)需要處理大量的圖片和數(shù)據(jù),因此對(duì)CPU、內(nèi)存和顯卡的要求都比較高。因此為了有效地學(xué)習(xí)和工作,計(jì)算機(jī)的配置不僅要保證CPU的性能更好,還要考慮內(nèi)存和顯卡的配置。在資金前提下,配置越高越好。
3. 嵌入式開發(fā)。隨著物聯(lián)網(wǎng)時(shí)代的到來,對(duì)嵌入式開發(fā)的需求越來越大。5g網(wǎng)絡(luò)的應(yīng)用也為嵌入式開發(fā)提供了更多的開發(fā)場(chǎng)景。事實(shí)上,這種技術(shù)的發(fā)展對(duì)計(jì)算機(jī)硬件配置的要求較少,但學(xué)習(xí)或工作需要計(jì)算機(jī)具有豐富的硬件接口,支持更多的網(wǎng)絡(luò)通信協(xié)議。
此外,我相信還有更詳細(xì)的字段劃分。對(duì)計(jì)算機(jī)硬件配置的要求不一樣。然而,作為編程初學(xué)者,r5360xcpu可以滿足幾乎所有領(lǐng)域的學(xué)習(xí)和開發(fā)需求。