视上下文重构有两个不一样的定义,第一个定义是名词形式性能优化
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提升其可理解性,下降其修改为本性能
重构的另外一人用法是动词形式优化
使用一系列的重构手法,在不改变软件可观察行为的前提下调整其结构。设计
有人说重构就是整理代码 ,从某种角度上来讲,是,可是重构不止于此,由于它提供了一种更为高效且受控的代码整理事件
技术,运用代码重构技术后你会发现对代码的整理会比之前更加高效。重构
重构的目的是使软件更容易被理解和侯。你能够在软件的内部作不少修改,但必须对软件可观察的外部行为只形成很小软件
的变化,甚至不形成变化。与之造成对比的是性能优化。和重构同样,性能优化一般也不会改变组件的行为,只改变执行bug
速度,只修改内部结构。二者的出发点不一样,性能优化可能会使代码较难理解。程序
强调一下,重构不会改变软件的可观察行为,也就是说重构以后功能和原来同样。技术
重构改进软件设计,若是没有重构,程序的设计会逐渐腐败变质。好多时候咱们为了立刻解决问题,就直接修改程序,程序
逐渐失去了本身的结构,这样下去程序会愈来愈难理解。重构就是整理代码让代码回到应处的位置上。
完成一样一伯事情,设计不良的程序会每每须要更多代码,这经常是由于代码在不一样的地方使用彻底相同的语句作一样的事。
改进设计的一个重要缘由就是消除重复代码。代码的减小不会使系统运行的更快,由于这对程序的运行没有任何明显影响。然而
代码的减小将使将来可能的程序修改动做更容易。代码越多修改起来就越麻烦,由于有更多的代码须要阅读和理解。若是消除
重复代码,你就能够肯定全部事物和行为在代码中只表述一次,这正是优秀设计的根本。
重构可让咱们的代码更容易理解和阅读,也能够帮助咱们找到bug
事不过三,过三就重构这个原则要记住,第一次去作某件事时只管去作,第二次再去作相似的事就会不爽,但不管如何仍是能够
去作,但第三次再去作相似的事件,你就应该重构。
重构的直接缘由每每是帮助我理解须要修改的代码,这些代码多是别人写的,也多是我本身写的。不管什么时候只要我想理解代
码所作的事,就会问,是否能对这些代码进行重构,使我能快速理解这它,那我就会对它进行重构。
重构的原动力是:代码设计没法帮助我轻松的添加我所须要的功能,若是用某种设计方式,添加功能会简单的多,这种状况能够用
重构来弥补。重构是一个快速流畅的过程,一旦完成重构,新特性的添加会更快速,更流畅。
若是在修改bug和审查代码时发现不合理的地方也要进行重构,这样是为了更好的阅读和理解代码
若是发现代码太混乱,重构它不如重写来的简单这种状况下建议重写,不用进行重构。
若是项目已经进入了最后期限,那也应该避免重构,这时已经有些晚了。最后你没有时间进行重构代表你其实早就该进行重构了
有时为了让代码更容易理解,会作出一些使程序运行变慢的修改,这是个重要的问题。这个的解决方案是先写出可高试的软件,而后
调整它以求得到足够的速度。