重构是一种对软件内部结构进行修改,使其更易于理解和修改。
1、使软件更易于理解:让代码清晰地表达其意图,方便后续开发者维护。
2、帮助找到Bug:在理清代码结构的过程中,更容易发现隐藏的逻辑错误。
3、提高编程速度:良好的设计是快速开发的基础。
如何重构:
书中最重要的概念之一就是“代码的坏味道”,它们是代码中潜在问题的信号,书中详细描述了20多种常见的坏味道,其中最经典的有:
1、重复代码:同一段代码结构在多个地方出现。
2、过长函数:一个函数做了太多事情,难以理解和维护。
3、过大的类:一个类承担了过多的职责。
4、过长参数列:参数列表过长,难以使用。
5、霰弹式修改:修改一处功能,需要更改许多分散的类。
6、重复的Switch语句:在多个地方出现相同的switch或if-else逻辑。
这些是日常研发中最常见的问题,针对以上常见问题的方案有
1、提取函数:将一段代码放入一个独立函数中,并以其用途命名。
2、简化函数调用:确保一个函数要么是“查询”,要么是“修改”。
3、提炼类:将一个过大的类的一部分提取成一个新类。
4、对象封装:将一组总是同时出现的基本类型数据封装成一个对象。
5、搬移函数:将一个函数移到它更常用的那个类中。
6、分解条件表达式:将复杂的条件判断提取成函数。
还有很多其他的常见坏味道,就不一一介绍了,在日常的研发中对这些坏味道每次只做一个小修改,然后测试,通过不断的小规模改进和打磨最终实现大规模重构。要结合实际场景,适配项目节奏,不盲目追求 “完美代码”,让重构成为日常开发的一部分,而非单独任务。