重构在软件开发工作中占有很重要的一环。只要产品存在,就会有需求的改变、趋势的改变,同时随着技术的不断发展,语言在变、框架在变、工具也在变,所以重构是无时无刻不存在的。
重构包含两层意思:
1、重构作为名词,是指对软件内部结构的调整,从而提高软件的质量、性能、可扩展性、可维护性。
2、重构作为动词,是指使用一系列的重构方法,对软件内部结构进行进行调整,从而提高软件的质量、性能、可扩展性、可维护性。
重构工作主要包括几个层次:代码重构、架构重构、组织重构、工具架构重构,服务重构。
在我看来,重构一定是为了解决问题而进行的,而且是在保证软件可正常工作的情况下同步进行的。
如果在重构过程中,发现重构进行不下去了,或者是重构影响了现在的软件的完整功能,那么这种重构就是打着重构的旗号在耍流氓。
所以重构一定要遵循16字方针:旧的不变、新的创建、一步切换、旧的再见。
即在开展重构工作时,不去修改旧的结构,首先保证软件能正常工作;创建新的结构,待完善到能替换旧结构时,再进行新旧切换;最后当新的结构能完全支撑软件工作时,就把旧的结构去掉。这样既达到了重构的上的,又保证了功能的正常工作。
当然,相对于简单的代码级别的重构,比如像参数名称的修改、方法名称的修改、注释等一类的修改,是没有必要创建新文件的,只需要在原文件中进行修改就可以了。