http://coolshell.cn/articles/3980.html
里面这一条很棒:
我们的代码中有一个模块完美地工作了很多年了,只是代码太乱了。我说服了我的老板,我可以重写这个模块,于是我花了三个星期来重写这个模块。今天 ,我还记得,我的老板站在我的后面看着我,而我在在流着斗大的法汗珠去fix被我重写的“超级漂亮”的那个模块中一个接一个的bug。从那以后,我再也不重写代码了,除非有重大的利益。
点评:这就所谓的屠宰式编程。这个案例告诉我们两个道理,1)维护代码要用最最最保守的方法来进行。2)重构代码前要像一个商人一样学会计算利益。当然,ThoughtWorks的咨询师一定会告诉你TDD,结对,极限等等方法告诉你如果实践重构。但我想告诉你,一个程序在生产环境里运行好几个年能没有问题是一件很不容易的事,那怕其中的代码再烂,你再看不过去,你都要有一个清醒的头脑明白这几点,
1)软件的运行质量是远远大于代码质量的,
2)你的测试案例是远远小于生产环境的,
3)软件的完美的质量,是靠长时间的运行、测试和错误堆出来的,而不是某种方法论。
开始工作的时候非常注意表面上的一些东西,整洁的代码等等。
到现在稍微觉得成熟了一些,就是不为了整洁而整洁,是为了解决问题而整洁,有些地方大可大大方方的丢烂代码过去。
而优雅两个字非常有主观向,现在我的看法是:以最准确的方式解决了问题即为优雅,多一分则肥少一分则瘦。
原文链接:https://www.f2er.com/javaschema/286949.html