浅谈重构

1.重构概念

在不改变软件的外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变动。——《重构 改善既有代码的设计》程序员

说白了重构就是一系列的“等量变换”!算法

2.重构的风险

当咱们遇到公司前人留下的烂代码时(不少时候咱们也是留下“烂代码”的人),通常都是先开骂,其次就捉摸着干脆重作算了,通常都不肯意修改和重构,咱们一般给出的理由是“代码太烂了,还不如重作”,这也就骗骗产品狗和老大罢了,真实的缘由只有一个:里边埋坑太多,业务复杂,文档缺失,改坏了要承担后果。编程

因此重构有风险,重构需谨慎!

原则上若是你的老大不支持重构的话,你最好不要私自去作这件事,由于弄很差你改坏了就麻烦了,如今国内的互联网公司成天把事故什么的计入KPI,直接关系你的职业前程。设计模式

3.如何确保重构的成功

重构风险那么大,是否是说咱们就不能作这件事了?若是我只是改了一个变量名,那应该不会有太大问题,仍是有点不放心,那就干脆测试一下,事实证实本次重构百分百不会出什么幺蛾子。这就给了咱们启示:“小步快跑” + “及时测试”,由于这样修改的代码量少,所用时间也少,每次只关注一个方面,从而极大地下降了重构的风险。若是你能听从这个原则,重构就是So Easy的事情!数据结构

4.重构方法

初步重构,咱们能够:添加注释、调整顺序、重命名变量、进行分段,再进一步咱们能够:抽取方法、抽取类、抽取接口等等,运用一些典型的设计模式,修改一些不合理的数据结构,优化算法,运用一些语言新特性改写老的代码,进行并行和异步编程等等 ,方法不一而论,但并非说都用上了就牛逼,可以在之后的实际工做中学着实践应用其中一些典型的方法就已经难能难得了异步

5.保证代码质量

互联网行业业务发展迅速,需求过多,程序员为了赶工期每每“不择手段”实现功能,乱七八槽可是却实现了功能,心想之后有时间了再去重构,真实的调调是每每不了了之。再加上不少时候咱们对代码又缺少有效的CodeReview,烂代码就会愈来愈多,越到后面维护这些代码越苦逼。与其之后高风险地重构,不如从一开始就注重代码的质量,因此请一开始就以重构的思想写代码,作好CodeReview,从公司的层面来说若是能从长远利益和维护成本角度来思考问题的话,就会明白代码质量的重要性,高质量的代码避免了大量的重构,下降了软件的风险和公司的成本,无形中增长了公司的收益!异步编程

相关文章
相关标签/搜索