Working Effectively with Legacy Code (Paperback)
暫譯: 有效地處理遺留程式碼

Michael Feathers

買這商品的人也買了...

相關主題

商品描述

Table of Contents:

Preface.

Introduction.

I. THE MECHANICS OF CHANGE.

  1. Changing Software.

  2. Working with Feedback.

  3. Sensing and Separation.

  4. The Seam Model.

  5. Tools.

II. CHANGING SOFTWARE.

  6. I Don’t Have Much Time and I Have To Change It.

  7. It Takes Forever To Make a Change.

  8. How Do I Add a Feature?

  9. I Can’t Get This Class into a Test Harness.

10. I Can’t Run This Method into a Test Harness.

11. I Need to Make a Change.   What Methods Should I Test?

12. I Need to Make Many Changes In One Area Do I Have To Break.

13. I Need To Make a Change but I Don’t Know What Tests To Write.

14. Dependencies on Libraries Are Killing Me.

15. My Application Is All API Calls.

16. I Don’t Understand the Code Well Enough To Change It.

17. My Application Has No Structure.

18. My Test Code Is in the Way.

19. My Project Is Not Object-Oriented.   How Do I Make Safe Changes?

20. This Class Is Too Big and I Don’t Want It to Get Any Bigger.

21. I’m Changing The Same Code All Over the Place.

22. I Need To Change a Monster Method and I Can’t Write Tests for It.

23. How Do I Know That I’m Not Breaking Anything?

24. We Feel Overwhelmed. It Isn’t Going To Get Any Better.

III. DEPENDENCY BREAKING TECHNIQUES.

25. Dependency Breaking Techniques.

Appendix: Refactoring.

Glossary.

商品描述(中文翻譯)

目錄:

前言。

介紹。

I. 變更的機制。
  1. 變更軟體。
  2. 與反饋合作。
  3. 感知與分離。
  4. 縫合模型。
  5. 工具。

II. 變更軟體。
  6. 我沒有太多時間,必須進行變更。
  7. 進行變更需要很長時間。
  8. 我該如何新增一個功能?
  9. 我無法將這個類別放入測試工具中。
10. 我無法將這個方法放入測試工具中。
11. 我需要進行變更。 我該測試哪些方法?
12. 我需要在一個區域內進行多次變更,是否必須拆分?
13. 我需要進行變更,但我不知道該寫什麼測試。
14. 對庫的依賴讓我感到痛苦。
15. 我的應用程式全是 API 呼叫。
16. 我對這段程式碼的理解不夠,無法進行變更。
17. 我的應用程式沒有結構。
18. 我的測試程式碼妨礙了我。
19. 我的專案不是物件導向的。 我該如何安全地進行變更?
20. 這個類別太大了,我不想讓它變得更大。
21. 我在各處都在變更相同的程式碼。
22. 我需要變更一個龐大的方法,但我無法為它編寫測試。
23. 我該如何知道我沒有破壞任何東西?
24. 我們感到不堪重負。 情況不會變得更好。

III. 依賴破壞技術。
25. 依賴破壞技術。
附錄:重構。
詞彙表。