代码总是在不知不觉中越写越多,有时就会出现很多重复的代码,对于重复代码,很多重构的书提倡为,重复不过三, 过三则重构。
重构的方法有很多种, 下面讲一讲提炼。
提炼就是把一些代码量很长的函数分解开来, 让原来的长函数变为短函数。
太长的函数,里面的逻辑很容易乱, 理清一个函数的所讲内容需要原完所有代码, 而且,一些小的改动,也可能使原来的功能发生变化,而且由于代码太长,还不容易查找。
改变的方法主要是:
把很多变量做为另一个提炼函数的参数传递过去。比如说:
void testA{
QString a,b;
a = ...;
if(a) {
....
a = ....
}
b = a;
}
可以提炼为:
QString functionA(QString a)
{
if(a) {
....
a = ....
}
}
void testA{
QString a,b;
a = ...;
b = functionA(a);
}
这样就可以把一些函数进行拆分, 把一些比较长的函数,变为多个短小的函数,减小每个函数的阅读难度,而且代码看起来也清晰很多。
重构应该是一种需要养成的习惯和意识,只有在编码的过程中, 见到有不太好的代码问题,就应该进行重构, 当习惯和意识养成后, 编码的质量就会有所提高。