设计模式 - 代码重构

2022-04-21  本文已影响0人  Zeppelin421

重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。
简单说,在保存功能不变的前提下,利用设计思想、原则、模式、编程规范等理论来优化代码,修改设计上的不足,提高代码质量。

重构的目的:为什么要重构(why)

重构的对象:到底重构什么(what)

根据重构的规模,可以笼统的分为大规模高层次重构和小规模低层次重构

重构的时机:什么时候重构(when)

提倡持续重构。在任务不多时看看项目中哪些写得不够好的、可以优化的代码,主动重构;在修改、添加某个功能代码时,把不符合编程规范、不好的设计重构一下。
要正确看待代码质量和重构这件事。技术在更新、需求在变化、人员在流动,代码质量总会在下降,代码总会存在不完美,重构就回持续进行。时刻具有持续重构意识,才能避免开发初级就过度设计,避免代码维护的过程中质量的下降。看到别人代码有瑕疵就一顿乱骂,或花尽心思去构思一个完美设计的人,往往是因为没有树立正确的代码质量观,没有持续重构的意识。

重构的方法:该如何重构(how)

进行大型重构的时候,要提前做好完善的重构计划,有条不紊地分阶段来进行。每个阶段完成一小部分代码的重构,然后提交、测试、运行,发现没有问题后再继续进行下一阶段的重构,保证代码仓库中的代码一直处于可运行、逻辑正确的状态。每个阶段都需要控制好重构影响范围,考虑如何兼容老的代码逻辑,必要的时候还需要写一些兼容过渡代码。
进行小型重构的时候,因为影响范围小,改动耗时短,所以,只要愿意并且有时间,随时都可以去做。还可以借助成熟的静态代码分析工具(CheckStyle、FindBugs、PMD)来自动发现代码中的问题,然后针对性地进行重构优化

重构的保障:单元测试

如何保证重构不出错?需要熟练掌握各种设计原则、思想、模式,还需要对所重构的业务和代码有足够的了解。除此之外,最可落地执行、最有效的保证重构不出错的手段就是单元测试(Unit Testing)

什么是单元测试

单元测试由研发工程师自己来编写,用来测试自己写的代码的正确性。单元测试的测试对象是类或者函数,用来测试一个类和函数是否都按照预期的逻辑执行。这是代码层级的测试。

为什么要写单元测试
如何编写单元测试

写单元测试就是针对代码设计覆盖各种输入、异常、边界条件的测试用例,并将这些测试用例翻译成代码的过程。

public double cal(double a, double b) {
    if (b != 0) {
        return a / b;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读