中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

干凈的代碼,省錢還是藝術(shù)?

發(fā)布于:2021-01-27 10:58:27

1

546

0

代碼 單元測(cè)試 重構(gòu)代碼 開發(fā)人員

最近,人們一直在談?wù)摼帉懜蓛舻拇a是否真的可以省錢,還是更多關(guān)于藝術(shù),即使事情變得漂亮。

好吧,正如森林阿甘(Forest Gump)所說,“也許兩者都有?!?/span>

怎么可能兩者都有呢?

我認(rèn)為總體來說,編寫干凈的代碼可以為您節(jié)省構(gòu)建軟件的資金(除非您花在維護(hù)軟件上的時(shí)間很少或根本不存在)。

它省錢的原因是兩者都起作用的地方。

如果我們僅僅從編寫干凈代碼的實(shí)踐中提取出金錢的部分,我們就可以得出一個(gè)非??煽康恼擖c(diǎn),即通過查看在軟件開發(fā)中花費(fèi)的時(shí)間和金錢最多的是什么,總體上它節(jié)省了金錢。

猜猜看。你覺得是什么?

沒錯(cuò)。修復(fù)生產(chǎn)缺陷。編寫單元測(cè)試可能需要一段時(shí)間。重構(gòu)代碼以使其“干凈”可能需要一段時(shí)間。但是,如果在3小時(shí)的編碼任務(wù)上花費(fèi)額外的3小時(shí),最終只為您節(jié)省了1個(gè)生產(chǎn)問題,那么您就把時(shí)間花回去了,然后又節(jié)省了一些時(shí)間。

從項(xiàng)目經(jīng)理到QA,再到程序員,再到QA,再到部署,一個(gè)生產(chǎn)問題的實(shí)際時(shí)間開銷,很容易每一個(gè)問題花費(fèi)10個(gè)或更多小時(shí)。

很難反駁這種邏輯本身,但這里還有另一個(gè)因素在起作用。那就是人的因素。

你看,這不全是關(guān)于金錢和金錢,也不全是關(guān)于當(dāng)你把人類投入其中時(shí),什么是合乎邏輯或?qū)嶋H的,我相信,如果非人類的利益寫干凈的代碼沒有為你節(jié)省任何金錢,總的來說,它仍然會(huì)為你節(jié)省金錢。

沒人會(huì)以廢話為傲

我不在乎這個(gè)軟件是否能工作,也不在乎它看起來是否漂亮,維護(hù)代碼的人會(huì)對(duì)它有不同的看法。

如果內(nèi)部代碼是垃圾,如果沒有什么好感覺,如果它是一大堆意大利面代碼,它將嚴(yán)重降低開發(fā)人員的積極性。

缺乏動(dòng)力的開發(fā)人員會(huì)做什么?

各種可怕的事情。他們尋找新的工作。他們寫更多的垃圾代碼。他們浪費(fèi)時(shí)間和拖延時(shí)間。他們做他們必須做的事情,直到他們能擺脫這個(gè)愚蠢的職業(yè),或者夢(mèng)想的工作出現(xiàn)在他們能寫的地方ASP.NET使用自動(dòng)模擬容器和BDD的MVC代碼。

有時(shí)你不得不問自己,維護(hù)現(xiàn)有的VB6應(yīng)用程序是否真的比將其轉(zhuǎn)換為C#要困難得多?好像不應(yīng)該,對(duì)吧?當(dāng)然,維護(hù)一個(gè)構(gòu)建良好的C應(yīng)用程序更容易,但是為什么這些應(yīng)用程序最終會(huì)被重寫有一個(gè)令人信服的原因,即使它們確實(shí)不需要重寫。

開發(fā)舊的硬性應(yīng)用程序的開發(fā)人員并沒有動(dòng)力這樣做。開發(fā)人員喜歡新的閃亮技術(shù)。他們喜歡感覺自己正在學(xué)習(xí)和擴(kuò)展技能,而不僅僅是維持現(xiàn)狀。

因此,即使重寫VB6應(yīng)用程序沒有實(shí)際意義…即使你的度量和圖表告訴你不應(yīng)該這樣做…當(dāng)你重寫應(yīng)用程序時(shí),你會(huì)發(fā)現(xiàn)這種神奇的隱藏成本節(jié)約,因?yàn)橥蝗婚g,開發(fā)人員就不會(huì)拖著腳去修復(fù)一個(gè)bug,或者給“那個(gè)蹩腳的老VB6應(yīng)用程序”添加一個(gè)功能了。對(duì)客戶來說,這個(gè)應(yīng)用程序甚至可能看起來一模一樣,但對(duì)開發(fā)人員來說,它將是一個(gè)全新的閃亮玩具。

編寫干凈的代碼不僅僅是為了省錢

所以你看,在理論上,有一個(gè)關(guān)于重構(gòu)代碼實(shí)際上是一個(gè)正的投資回報(bào)還是負(fù)的爭論。我每次都會(huì)在純實(shí)用和圖表理論上為正的,但是當(dāng)你加入人類藝術(shù)元素時(shí),這是沒有爭議的。

如果您的代碼庫是您的開發(fā)人員引以為豪的東西,那么您將看到時(shí)間上的巨大節(jié)省,因?yàn)槟拈_發(fā)人員將被極大地激勵(lì)著使它變得更好。

干凈的代碼產(chǎn)生干凈的代碼。

因此,當(dāng)我說這兩者時(shí),我不僅對(duì)這個(gè)話題不置可否或不熱心。人為因素使得干凈的代碼對(duì)于節(jié)省金錢至關(guān)重要。