ch2 Working with Feedback

《Working Effectively with Legacy Code》對 unit test 跟更高層的 test 概念跟《單元測試》差不多,只是沒特別用 integration test 這個詞而已。

改 code 的兩種方法:edit and pray 以及 cover and modify XD

Summary

  • 要用 unit test 保護修改
    • 才知道新修改有沒有改對,以及有沒有改壞原本的東西
    • 跑測試的速度:需要 0.1s 才能跑完的 unit test 就算慢了
  • 修改 legacy code 步驟 overview
    1. 確定變動點(理解 code):ch 16、17
    2. 找出測試點:ch 11、12
    3. 解依賴的技術
      - 將 code 放進測試時,讓下手的第一刀更安全:ch 23
      - 解決一般的依賴問題:ch 9、10
      - 無法寫測試是因為沒解決大型 method 中的依賴:ch 22
      - build code 時間太長:ch 7
    4. 編寫測試:ch 13
    5. 修改及 refactor
      - 如何增加 feature:ch 8
      - 將 legacy code 變得結構更好:ch 20 ~ 22