重构是一种可以引用许多任务的通用技术.它通常意味着清理代码,消除冗余,提高代码质量和可读性.
一个非常简单的例子,不好因式分解的代码:
do_task1("abc");
do_task2(123);
do_task3(7.43);
...
//100 lines later:
do_task1("abc");
do_task2(123);
do_task3(7.43);
...
//80 lines later:
do_task1("abc");
do_task2(123);
do_task3(7.43);
Run Code Online (Sandbox Code Playgroud)
看看同一组3条线是如何一遍又一遍重复的?
重构此代码可能会给出:
procedure do_tasks1to3(x,y,z)
do_task1(x);
do_task2(y);
do_task3(z);
end
do_tasks1to3("abc",123,7.43);
...
//100 lines later:
do_tasks1to3("abc",123,7.43);
...
//80 lines later:
do_tasks1to3("abc",123,7.43);
Run Code Online (Sandbox Code Playgroud)
重构的代码使用一个过程来执行重复的任务,如果do_task4需要添加,它只需要在过程内完成,而不是像以前那样在4个不同的地方完成.
还有其他方法可以重构这个,当然如果你需要对do_taskn函数有所不同,这可能不起作用,但这通常是你开始的方式......
不良因素意味着包含冗余,或以一种使核心依赖难以看到的方式组织.该术语最初来自数学:
Factoring: Finding what to multiply together to get an expression.
Run Code Online (Sandbox Code Playgroud)
有许多方法来表达表达式,就像有很多方法来编写一个实现相同结果的程序一样.我们都知道形式代数,找到一个合适的因子可以使整个方程更容易解决.
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |