成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 后端 前端
現(xiàn)實情況是,和這個星球上的其他所有程序員一樣,你會產(chǎn)出安全漏洞、UI元素偏移,等等等等的代碼。這并不能說明你是一個不好的開發(fā)人員。只是因為你是人類而已——一種不可避免會犯錯的生物。

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

現(xiàn)實情況是,和這個星球上的其他所有程序員一樣,你會產(chǎn)出安全漏洞、UI元素偏移,等等等等的代碼。這并不能說明你是一個不好的開發(fā)人員。只是因為你是人類而已——一種不可避免會犯錯的生物。

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

[[147622]]

假設(shè)

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

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

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

測試

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

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

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

在實踐中,這意味著“程序員至少需要對常見錯誤有一定的了解,然而,很多程序員往往不會這么去做,甚至是反著來。”這意味著你作為“編程之神”的責任也包括成為“測試之神”,通過“折騰”代碼積極地來消除里面的錯誤。

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

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

貧民窟上的摩天大樓

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

以下是Zeynep Tufekci的精彩描述:

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

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

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

譯文鏈接:http://www.codeceo.com/article/good-programmer-deal-bad-code.html
英文原文:How Good Developers Deal With Bad Code

責任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2015-08-31 10:14:30

程序員處理代碼糟糕代碼

2017-11-14 21:30:15

2015-06-17 14:24:48

優(yōu)秀程序員整潔代碼

2015-05-13 14:06:03

程序員糟糕的程序員

2009-01-08 09:04:18

2012-11-09 13:44:48

ScalaJVMJava

2009-11-19 10:21:02

2015-08-19 08:51:38

程序員面試糟糕

2014-03-25 10:35:35

程序員代碼調(diào)試

2012-11-01 13:46:54

程序員

2017-10-22 16:16:03

程序員編程代碼

2023-01-17 16:05:50

程序員時間管理日程表

2021-11-01 22:39:14

程序員專業(yè)技術(shù)

2014-12-04 10:02:55

2014-08-29 11:09:44

程序員

2015-04-08 11:09:28

優(yōu)秀程序員深入理解你的代碼

2012-08-13 09:25:50

程序員

2009-07-24 13:09:57

ASP.NET程序員

2012-08-28 09:15:19

程序員

2015-02-03 02:40:33

程序員盲人程序員
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 97视频人人澡人人爽 | 91精品久久久久久久久久入口 | 美日韩中文字幕 | 国产乱码久久久 | 国产一区成人 | 天堂国产 | 免费久久久久久 | 欧美日韩国产高清 | h免费观看| 亚洲一区视频在线 | 午夜免费视频 | 99热在这里只有精品 | 亚洲www啪成人一区二区麻豆 | 国产精品精品视频一区二区三区 | 9色网站| 国产精品久久精品 | 在线观看成年视频 | 色爱综合网 | 玖玖久久 | 91xxx在线观看 | 国产福利在线播放麻豆 | 97caoporn国产免费人人 | 欧美日韩不卡合集视频 | 成人免费淫片aa视频免费 | 日韩国产精品一区二区三区 | 91精品国产99久久 | 亚洲国产精品suv | 精品欧美一区免费观看α√ | 97国产精品 | 久久高清亚洲 | 天堂男人av | 国产成人精品一区二区三区 | 剑来高清在线观看 | 成人精品一区二区三区 | 日本不卡免费新一二三区 | 欧美中文一区 | 青青草综合网 | av国产精品| 国产精品免费看 | 亚洲精品免费观看 | 一级网站|