术语“分解不良”和“重构”程序是什么意思?你能举一个简单的例子来理解基本的区别吗?
最佳答案
重构是一种通用技术,可以指代许多任务。它通常意味着清理代码、去除冗余、提高代码质量和可读性。
分解不良代码的一个非常简单的例子:
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);
看到同一组 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);
重构后的代码使用一个过程来执行重复的任务,如果需要添加一个do_task4
,它只需要在过程中完成,而不是在4个单独的地方,比如之前。
还有其他方法可以重构它,当然,如果您需要对 do_taskn
函数进行变体,这可能行不通,但这通常是您开始的方式...
关于c++ - 分解/重构程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600257/