色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

抵制代碼重寫

  本文是從 Fight the Rewrite 這篇文章翻譯而來。

  昨天,一位老上級邀請我一起吃午餐。當坐在哪里等待上菜時,我們緬懷起早期這個公司的往事。他有一句話讓我心里一虛:

啊,你這個判官…我記得當你看到Dan(公司的第一位程序員)寫的代碼時的樣子。你說:“這代碼寫的真爛,需要重寫!”

  我恐怕是沒有足夠的勇氣告訴他,我這“代碼需要重寫”的主張是錯誤的。不錯,我認為這代碼寫的很亂。但是,據過去歷次的經驗,我感覺大部分的程序員看著別人寫的程序時都會想:這代碼寫的真爛。事實上,當一個程序員數年后再看自己寫過的程序時也會想:這代碼寫的真爛。也許他們想的是對的;這代碼確實很爛。

  但是,如果你認為代碼需要重寫,你將犯下一個低級錯誤。

  公司里有一些想當然的看法會讓你可能現在不能認識到這點。大量的不成文的想當然的觀點可能會讓你無法解釋清楚。

  我喜歡Joel Spolsky說的關于這種事情的話,有些事情你永遠不要去做

我們是程序員。程序員,在他們自己的心里,是建筑師,當他們來到一個地點,第一件想要做的事情就是:把這地方推平,蓋上輝煌的建筑。他們對慢慢的修繕沒有興趣:小修小補,改善,培植花草。

有一種不可捉摸的原因讓程序員們總是希望丟掉這些代碼、重新再寫。原因是他們認為老的代碼是混亂的。可是,你會觀察到一種非常有趣的現象:他們的判斷通常是錯的。他們之所以會認為老的代碼很爛的原因來自于一個重要的、基本的編程定律:

讀代碼比寫代碼要難。

這就是為什么代碼很難重用的原因。這就是為什么每個團隊喜歡用自己不同的函數來做把字符串拆分成數組操作的原因。他們要寫自己的方法,這更容易,更有趣,不需要弄清楚老的函數的工作原理。

根據這種定律必然得出這樣的一個結論,你現在可以問一問任何一個程序員,問他們對正在寫的程序感覺如何。“亂的不能再亂了,”他們會這樣告訴你。“我寧愿把它們都刪了重新再寫。”

  當你招募來了一個程序員,如果他想重寫看來工作的不錯的程序,你要抵制。他也許會說Java過時了,太慢,Ruby on Rails如何的酷。也許他會向你拋了一大堆專業名稱術語。不管他如何做,你要三思而行。

  你覺得呢?

it知識庫抵制代碼重寫,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 军事| 铜鼓县| 隆昌县| 启东市| 合川市| 遵义县| 西宁市| 瓮安县| 攀枝花市| 肇东市| 临城县| 荔浦县| 汪清县| 江油市| 阿瓦提县| 华安县| 保山市| 于田县| 奉新县| 岱山县| 文昌市| 东乡族自治县| 尉犁县| 拉萨市| 高阳县| 红河县| 札达县| 枣庄市| 雷州市| 太谷县| 兴安盟| 麻栗坡县| 托克逊县| 泰和县| 新巴尔虎左旗| 尚义县| 资溪县| 新邵县| 台东市| 诏安县| 金溪县|