編程六月定律

上週,我被迫對一個很老的項目作一些修改。麻煩是,當開始着手時,我真的記不清這個項目究竟有多老了。程序員

這其實是我使用Codeigniter實現的第一個MVC項目。打開項目文件後,不少東西都讓我頭暈。首先,沒有版本控制,第二,沒有註釋。編程

讀起代碼,個人「F*CK/分鐘」的值一直衝破屋頂。post

項目裏面的Model不多。Controller層有大量重複的代碼,View層肥大的使人不寒而慄。我相信View層裏的邏輯實際上比Model層和Controller層的加起來都要多。學習

我該爲此感到羞恥嗎?.net

答案是NO。(若是是的話我也不會寫這篇博客裏。)版本控制

爲何不?orm

由於有個六月定律。六月定律說的是,每一個程序員都應該回頭看看本身6個月前寫的代碼,而且應該會唾棄當時寫的那些代碼。blog

這就引出了本文的重點:若是你是個程序員,當你看6個月前寫的代碼時,若是發現跟如今寫代碼的水平同樣,請別寫了,你應該學習一些新東西了。get

這就是爲何當我看到之前的代碼寫的奇醜無比時反而很高興的緣由。很是高興。這說明我進步了。因此,與其爲那些醜陋的代碼感到羞恥,不如高興的接受它們,這意味着你在成長。博客

[英文原文: The six months rule ]
知識共享許可協議
本做品採用 知識共享署名-非商業性使用-相同方式共享 3.0 Unported許可協議 進行許可。