代码是否应该重构

关于代码重构是否必须,在网上也是找了很多资料。很多人持不同态度,至少给我的感觉是对半分的态度。有人说应该重构,可以是项目更加健壮,代码读起来更加顺畅,性能提升,大工程更易维护,可扩展性强等等好处。但有人持反对态度,认为代码千万不要重写,其中原因也可以理解,比如:重构代码需要耗费大量时间,在项目周期紧张的情况下更加不可能了,只要可运行就行。很多时候写代码容易,但是读代码难,这是很多人有的感觉,尤其是没有文档,注释的代码更是看了伤眼伤神。而且重构可能带来新的问题,遗留项目更是没人敢碰。

那到底该不该重构呢?或许我也不能说出绝对的理由,不过我有自己的理由,首先我对代码有洁癖,见不得乱糟糟的代码,不过我更多的情况是在写的时候会做代码审查,看看能不能够用更简单的方式实现,对于多次重复出现的代码会考虑封装一下以便共用。至于已经上线很久以后发现的烂代码还是谨慎重构,太复杂的就不要动了。

有一种比较频繁出现的情况是,有很多时候会写之前写过的代码,某个类似的功能,这个时候是坚决会对以前的代码重构简化,我讨厌写重复的东西。往往能将以前的代码缩减不少使之更精简明了。

对于重构的意义除了上面提到的,个人认为还有一个好处——虽然一次不能写出最好的代码,但是只要有重构的意识,至少是能写出比上次更好的代码,也算是经验总结,要不然怎么会出现那么多设计模式。