可以不断重构,真是幸甚

[ 1224 查看 / 0 回复 ]

只要我们的代码没有达到 DP 的高度(这种高度,不是一天两天就能达到的,必须对前辈保持高山仰止的谦虚态度),就总是有机会重构!

下面的代码演示了,哪怕是小小的一个测试方法,也是可以重构的(抄书得到的心得)。
  1.     public void testReport() {
  2.       final Date date = new Date();
  3.       CourseReport report = new CourseReport();
  4. -      report.add(CourseSession.create(new Course("ENGL", "101"), date));
  5. -      report.add(CourseSession.create(new Course("CZEC", "200"), date));
  6. -      report.add(CourseSession.create(new Course("ITAL", "410"), date));
  7. -      report.add(CourseSession.create(new Course("CZEC", "220"), date));
  8. -      report.add(CourseSession.create(new Course("ITAL", "330"), date));
  9. +      report.add(create("ENGL", "101", date));
  10. +      report.add(create("CZEC", "200", date));
  11. +      report.add(create("ITAL", "410", date));
  12. +      report.add(create("CZEC", "220", date));
  13. +      report.add(create("ITAL", "330", date));

  14.       assertEquals(
  15.             "CZEC 200" + NEWLINE +
  16. @@ -24,4 +24,10 @@
  17.           report.text());
  18.                  
  19.     }

  20. +  //提炼方法,使得可以被复用
  21. +  private CourseSession create(String department, String number, Date date)
  22. +  {
  23. +        return CourseSession.create(new Course(department, number), date);
  24. +  }
  25. }
复制代码
TOP