返回
《重构》读书笔记序
前端
2023-11-14 13:14:30
技术博客
重构:超越思想,掌握方法
引言
“重构”是软件工程中一项至关重要的实践,它能大幅提升代码的可维护性、可读性和容错性。然而,仅仅理解重构的思想是不够的,还需要掌握具体的方法才能有效实施。
重构的定义
重构是指在不改变软件可观察行为的前提下,改进其内部结构。其目的是让代码更易于维护、更易于阅读、更具容错性。
思想与方法
许多人认为,重构只是一种思想,不需要具体的琐碎方法。然而,没有具体的方法,重构就无从下手。仅仅拥有思想而不具备方法,就好比空有哲学而无实际行动。
常见的误区
也有人错误地认为重构可以掩盖设计中的缺陷。这是一种危险的误解。重构不是为了弥补糟糕的设计,而是为了改善现有设计的结构。如果代码的设计缺陷,就需要重新设计,而不是重构。
具体的步骤
重构的具体步骤可以总结为:
- 识别需要重构的代码。
- 根据重构规则进行修改。
- 验证修改后的代码是否符合预期。
- 循环重复上述步骤,直到代码达到预期的质量水平。
方法的应用
重构的具体方法众多,每种方法都有其特定的适用场景。例如:
- 提取方法 :将重复的代码块提取为一个独立的方法。
- 内联方法 :将小型且简单的辅助方法内联到调用它的代码中。
- 引入局部变量 :将复杂的表达式或数据结构提取到局部变量中。
- 移动字段 :将字段从一个类移动到另一个类中。
- 推卸特性 :将某个类的责任推卸给另一个类。
示例代码
为了更好地理解重构方法,这里提供一个示例代码:
class Order {
private int quantity;
private double price;
public double calculateTotal() {
return quantity * price;
}
}
这段代码存在一个问题,calculateTotal()
方法没有处理数量为零的情况。我们可以使用“内联变量”方法来解决这个问题:
class Order {
private int quantity;
private double price;
public double calculateTotal() {
if (quantity == 0) {
return 0;
} else {
return quantity * price;
}
}
}
通过内联变量,我们避免了在需要时检查变量是否为零的重复代码。
结论
重构是软件开发中的一个强大工具,但只有掌握了具体的方法才能有效实施。通过遵循本文介绍的步骤和方法,开发人员可以显著改善代码的质量和可维护性。