只要我们的代码没有达到 DP 的高度(这种高度,不是一天两天就能达到的,必须对前辈保持高山仰止的谦虚态度),就总是有机会重构!
下面的代码演示了,哪怕是小小的一个测试方法,也是可以重构的(抄书得到的心得)。
- public void testReport() {
- final Date date = new Date();
- CourseReport report = new CourseReport();
- - report.add(CourseSession.create(new Course("ENGL", "101"), date));
- - report.add(CourseSession.create(new Course("CZEC", "200"), date));
- - report.add(CourseSession.create(new Course("ITAL", "410"), date));
- - report.add(CourseSession.create(new Course("CZEC", "220"), date));
- - report.add(CourseSession.create(new Course("ITAL", "330"), date));
- + report.add(create("ENGL", "101", date));
- + report.add(create("CZEC", "200", date));
- + report.add(create("ITAL", "410", date));
- + report.add(create("CZEC", "220", date));
- + report.add(create("ITAL", "330", date));
-
- assertEquals(
- "CZEC 200" + NEWLINE +
- @@ -24,4 +24,10 @@
- report.text());
-
- }
- +
- + //提炼方法,使得可以被复用
- + private CourseSession create(String department, String number, Date date)
- + {
- + return CourseSession.create(new Course(department, number), date);
- + }
- }
复制代码