上周,我被迫对一个很老的项目作一些修改。麻烦是,当开始着手时,我真的记不清这个项目究竟有多老了。程序员
这其实是我使用Codeigniter实现的第一个MVC项目。打开项目文件后,不少东西都让我头晕。首先,没有版本控制,第二,没有注释。ide
读起代码,个人“F*CK/分钟”的值一直冲破屋顶。学习
项目里面的Model不多。Controller层有大量重复的代码,View层肥大的使人不寒而栗。我相信View层里的逻辑实际上比Model层和Controller层的加起来都要多。spa
我该为此感到羞耻吗?版本控制
答案是NO。(若是是的话我也不会写这篇博客里。)orm
为何不?博客
由于有个六月定律。六月定律说的是,每一个程序员都应该回头看看本身6个月前写的代码,而且应该会唾弃当时写的那些代码。it
这就引出了本文的重点:若是你是个程序员,当你看6个月前写的代码时,若是发现跟如今写代码的水平同样,请别写了,你应该学习一些新东西了。class
这就是为何当我看到之前的代码写的奇丑无比时反而很高兴的缘由。很是高兴。这说明我进步了。因此,与其为那些丑陋的代码感到羞耻,不如高兴的接受它们,这意味着你在成长。程序