真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

優(yōu)秀程序員是如何處理糟糕代碼的

優(yōu)秀程序員是如何處理糟糕代碼的

可能你一行不好的代碼也從來(lái)沒有寫過。這是有可能的,但在現(xiàn)實(shí)中又不太可能。

創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元康巴什做網(wǎng)站,已為上家服務(wù),為康巴什各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

現(xiàn)實(shí)情況是,和這個(gè)星球上的其他所有程序員一樣,你會(huì)產(chǎn)出安全漏洞、UI元素偏移,等等等等的代碼。這并不能說明你是一個(gè)不好的開發(fā)人員。只是因?yàn)槟闶侨祟惗选环N不可避免會(huì)犯錯(cuò)的生物。

正是這種每個(gè)開發(fā)人員都有的“人性”缺陷,驅(qū)使那些優(yōu)秀的開發(fā)人員敢于承擔(dān)代碼和底層基礎(chǔ)架構(gòu)的不足,有準(zhǔn)備有計(jì)劃地行動(dòng)。下面是他們將做的事情。

優(yōu)秀程序員是如何處理糟糕代碼的

假設(shè)

幾年前,Netflix開源了Chaos Monkey和Simian Army的其他部分(Simian Army是一套工具,用來(lái)管理基于云的軟件)。從本質(zhì)上說,Chaos Monkey的范圍貫穿亞馬遜Web服務(wù)的基礎(chǔ)設(shè)施,能夠隨意終止實(shí)例。從根本上說,它是一種通過創(chuàng)建最壞的可能方案來(lái)做最壞打算的方法。

正如Netflix的Cory Bennett和Ariel Tseitlin于發(fā)行之時(shí)在博客上這樣寫道,“代碼會(huì)失敗,并且你越不希望失敗或一點(diǎn)也沒有準(zhǔn)備的時(shí)候,反而更加不可避免會(huì)出現(xiàn)故障。如果你的應(yīng)用程序 不能容忍實(shí)例故障,那么你是愿意凌晨3點(diǎn)被召喚呢還是在辦公室里通宵?”

使用不可預(yù)測(cè)的方式來(lái)模擬故障,Netflix強(qiáng)迫注重基礎(chǔ)設(shè)施的彈性。與其假設(shè)最佳的情形,還不如做一個(gè)最壞的打算。這樣我們就能愉快地進(jìn)入下一個(gè)進(jìn)程了。

測(cè)試

上面我們說了一個(gè)提高基礎(chǔ)設(shè)施的偉大方法,那么代碼呢?

Jeff Atwood,一個(gè)程序員的答案是:“你需要折騰你的代碼。”他寫道:

我相信,每個(gè)專業(yè)程序員職業(yè)生涯的一個(gè)關(guān)鍵轉(zhuǎn)折點(diǎn),就在當(dāng)你意識(shí)到你才是自己最大的敵人,以及減輕這種威脅的唯一辦法就是接受它的時(shí)候。將自己當(dāng)作最大的敵人。打破你的用戶界面。打破你的代碼。折騰你的軟件。

在實(shí)踐中,這意味著“程序員至少需要對(duì)常見錯(cuò)誤有一定的了解,然而,很多程序員往往不會(huì)這么去做,甚至是反著來(lái)?!边@意味著你作為“編程之神”的責(zé)任也包括成為“測(cè)試之神”,通過“折騰”代碼積極地來(lái)消除里面的錯(cuò)誤。

Andre Medeiros補(bǔ)充認(rèn)為我們應(yīng)該對(duì)調(diào)試“精益求精”,因?yàn)殚_發(fā)人員需要對(duì)他們的代碼做更多的事情。

“為了防止bug,你寫出來(lái)的代碼得讓任何程序員都覺得簡(jiǎn)單。為了修復(fù)bug,你得理解你的代碼。為了精密地了解代碼,你需要列舉和驗(yàn)證你的假設(shè),如果有必要,你還需要構(gòu)建調(diào)試工具?!?/p>

貧民窟上的摩天大樓

當(dāng)然,對(duì)于我們的代碼,其最大的問題之一是,它繼承了如此多其他的代碼。特別是在已建立的企業(yè)中,我們常常構(gòu)建在舊代碼上,從而導(dǎo)致了各種后續(xù)延伸問題。

以下是Zeynep Tufekci的精彩描述:

將它比喻成造房子的話——也就說你將要在已經(jīng)造好的底層基礎(chǔ)上造二樓。但房子一開始造的時(shí)候并沒有造好,沒有打好地基,你也不知道哪面是承重墻。你只能盡 可能地去猜,然后造好了一個(gè)樓層——用你的手指。然后你接著這樣做。很多舊但控制著基礎(chǔ)設(shè)施關(guān)鍵部分的軟件系統(tǒng)就是這樣運(yùn)行的。在某一段時(shí)間內(nèi)它也的確是 可以工作,但每一個(gè)新樓層的建造意味著增加了更多的漏洞。我們正在代碼中建設(shè)貧民窟上的摩天大樓——而且,還在地震區(qū)。

很顯然,我們對(duì)于改善這種情況束手無(wú)策,除非我們能夠致力于去除技術(shù)債務(wù)。

但也許,只是也許,在心甘情愿折騰代碼的過程中,你會(huì)發(fā)現(xiàn)消除技術(shù)債務(wù)是如此之重要。

文章來(lái)源《IT藍(lán)豹》

更多精品文章:http://www.itlanbao.com/preview.aspx#1,0


文章名稱:優(yōu)秀程序員是如何處理糟糕代碼的
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/jcoggg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部