代码重构:从 SerialDate 到 DayDate 的蜕变
1. 引言
在软件开发中,代码重构是一项至关重要的工作。它不仅可以提高代码的可读性和可维护性,还能让代码更加健壮和高效。今天,我们将深入探讨对一个 Java 日期类的重构过程,看看如何从一个看似良好的代码基础上进行优化和改进。
2. 初始代码情况
我们要重构的类是 SerialDate ,它位于 JCommon 库的 org.jfree.date 包中。这个类的作者是 David Gilbert,从代码中可以看出他是一位经验丰富且专业的程序员,代码整体质量较高。不过,即使是这样的代码,也有进一步优化的空间。
SerialDate 类的存在是为了应对 Java 标准日期类(如 java.util.Date 和 java.util.Calendar )在处理日期时的一些痛点。作者希望有一个专注于日期而非时间的类,这也是 SerialDate 诞生的初衷。
3. 让代码正常工作
在开始重构之前,我们需要确保代码能够正常工作。首先,我们发现 SerialDateTests 类中的单元测试虽然都通过了,但并没有覆盖所有的功能。例如, MonthCodeToQuarter 方法就没有被测试到。
为了更全面地了解测试覆盖情况,我们使用了 Clover 工具。结果显示,原有的单元测试只执行了 Se
订阅专栏 解锁全文
7万+



被折叠的 条评论
为什么被折叠?



