編程的六月定律
上周,我被迫對(duì)一個(gè)很老的項(xiàng)目做一些修改。麻煩是,當(dāng)開始著手時(shí),我真的記不清這個(gè)項(xiàng)目究竟有多老了。
這實(shí)際上是我使用Codeigniter實(shí)現(xiàn)的***個(gè)MVC項(xiàng)目。打開項(xiàng)目文件后,很多東西都讓我頭暈。首先,沒有版本控制,第二,沒有注釋。
讀起代碼,我的“F*CK/分鐘”的值一直沖破屋頂。
項(xiàng)目里面的Model很少。Controller層有大量重復(fù)的代碼,View層肥大的令人毛骨悚然。我相信View層里的邏輯實(shí)際上比Model層和Controller層的加起來都要多。
我該為此感到羞恥嗎?
答案是NO。(如果是的話我也不會(huì)寫這篇博客里。)
為什么不?
因?yàn)橛袀€(gè)六月定律。六月定律說的是,每個(gè)程序員都應(yīng)該回頭看看自己6個(gè)月前寫的代碼,并且應(yīng)該會(huì)唾棄當(dāng)時(shí)寫的那些代碼。
這就引出了本文的重點(diǎn):如果你是個(gè)程序員,當(dāng)你看6個(gè)月前寫的代碼時(shí),如果發(fā)現(xiàn)跟現(xiàn)在寫代碼的水平一樣,請(qǐng)別寫了,你應(yīng)該學(xué)習(xí)一些新東西了。
這就是為什么當(dāng)我看到以前的代碼寫的奇丑無比時(shí)反而很高興的原因。非常高興。這說明我進(jìn)步了。所以,與其為那些丑陋的代碼感到羞恥,不如高興的接受它們,這意味著你在成長(zhǎng)。
原文鏈接:http://blog.marcomonteiro.net/post/the-six-months-rule