O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Working effectively with legacy code study group - ch12,13,14

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 57 Anúncio

Working effectively with legacy code study group - ch12,13,14

Baixar para ler offline

在同一地方進行多處修改,是否應該將所有相關的類別都解依賴
攔截點
透過匯點來判斷設計的好壞
匯點的陷阱
修改時應該怎樣寫測試
特徵測試
刻畫類別
目標測試
編寫特徵測試的啟發式方法
棘手的函式庫依賴問題

在同一地方進行多處修改,是否應該將所有相關的類別都解依賴
攔截點
透過匯點來判斷設計的好壞
匯點的陷阱
修改時應該怎樣寫測試
特徵測試
刻畫類別
目標測試
編寫特徵測試的啟發式方法
棘手的函式庫依賴問題

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a Working effectively with legacy code study group - ch12,13,14 (20)

Mais de Eason Kuo (16)

Anúncio

Mais recentes (20)

Working effectively with legacy code study group - ch12,13,14

  1. 1. © 2019, Domain Driven Design Taiwan Community Eason Kuo 2020/05/06 Working Effectively with Legacy Code | |
  2. 2. © 2019, Domain Driven Design Taiwan Community Backend Engineer About Me Eason Kuo Python / DDD / Node.js Startup – Addweup, MenzTech
  3. 3. © 2019, Domain Driven Design Taiwan Community Chapter 12
  4. 4. © 2019, Domain Driven Design Taiwan Community ( ) Ch 12 ?
  5. 5. © 2019, Domain Driven Design Taiwan Community Ch 12 ?
  6. 6. © 2019, Domain Driven Design Taiwan Community > Ch 12 ? E.g API
  7. 7. © 2019, Domain Driven Design Taiwan Community ( ) Ch 12 ? (1) – 1. 2.
  8. 8. © 2019, Domain Driven Design Taiwan Community Invoice getValue Ch 12 ? (2) –
  9. 9. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (2) – Invoice getValue
  10. 10. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (2) – ShippingPricer
  11. 11. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (2) – ShippingPricer
  12. 12. © 2019, Domain Driven Design Taiwan Community getValue BillingStatment makeStatment getValue Ch 12 ? (3) –
  13. 13. © 2019, Domain Driven Design Taiwan Community getValue getValue Invoice Ch 12 ? (4) –
  14. 14. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (5) –
  15. 15. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (5) –
  16. 16. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (5) – getValue
  17. 17. © 2019, Domain Driven Design Taiwan Community ( ) Ch 12 ? (6) – 1. 2. ( ) 3. ( )
  18. 18. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (7) –
  19. 19. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (8) – :
  20. 20. © 2019, Domain Driven Design Taiwan Community Invoice Item BillingStatement Ch 12 ? (1) –
  21. 21. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (2) –
  22. 22. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (2) – BillingStatement
  23. 23. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (3) –
  24. 24. © 2019, Domain Driven Design Taiwan Community Item (getSuppiler) (settSuppiler) InvetoryControl BillingStatement (Item getSuppiler) Ch 12 ? (1) –
  25. 25. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (3) –
  26. 26. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (4) –
  27. 27. © 2019, Domain Driven Design Taiwan Community Ch 12 ? (4) – > >
  28. 28. © 2019, Domain Driven Design Taiwan Community Ch 12 ?
  29. 29. © 2019, Domain Driven Design Taiwan Community Chapter 13
  30. 30. © 2019, Domain Driven Design Taiwan Community Ch13 - Bug
  31. 31. © 2019, Domain Driven Design Taiwan Community Ch13 Bug But
  32. 32. © 2019, Domain Driven Design Taiwan Community Ch13 (1) –
  33. 33. © 2019, Domain Driven Design Taiwan Community Ch13 (2) – 1. 2. (Assert) 3. 4. 5.
  34. 34. © 2019, Domain Driven Design Taiwan Community Ch13 (3) – 1. .generate() 2.
  35. 35. © 2019, Domain Driven Design Taiwan Community Ch13 (3) – 1. .generate() 2.
  36. 36. © 2019, Domain Driven Design Taiwan Community Ch13 (4) – Bug Bug Bug Bug
  37. 37. © 2019, Domain Driven Design Taiwan Community Ch13 (4) –
  38. 38. © 2019, Domain Driven Design Taiwan Community Ch13 (4) –
  39. 39. © 2019, Domain Driven Design Taiwan Community Ch13 (1)
  40. 40. © 2019, Domain Driven Design Taiwan Community Ch13 (2) – FuelShare
  41. 41. © 2019, Domain Driven Design Taiwan Community Ch13 (3) – ZoneHawthorneLease
  42. 42. © 2019, Domain Driven Design Taiwan Community Ch13 (2) – priceForGallons(gallons) totalPrice > else
  43. 43. © 2019, Domain Driven Design Taiwan Community Ch13 –
  44. 44. © 2019, Domain Driven Design Taiwan Community Ch13 – (Ch22) Debug e.g :
  45. 45. © 2019, Domain Driven Design Taiwan Community Ch13 (3) –
  46. 46. © 2019, Domain Driven Design Taiwan Community Ch13 (3) – 1. 2. 3. ( )
  47. 47. © 2019, Domain Driven Design Taiwan Community Chapter 14
  48. 48. © 2019, Domain Driven Design Taiwan Community Ch 14 ( ) 1. 2. 3. 4.
  49. 49. © 2019, Domain Driven Design Taiwan Community Ch 14 (Ch 6.4 Wrap Class) ( )
  50. 50. © 2019, Domain Driven Design Taiwan Community Exercise
  51. 51. © 2019, Domain Driven Design Taiwan Community Exercise Supermarket Receipt Refactoring Kata https://github.com/kokokuo/SupermarketReceipt-Refactoring-Kata DDD
  52. 52. © 2019, Domain Driven Design Taiwan Community Exercise Supermarket Receipt Refactoring Kata (Con’t) DDD • ( €0.99) • 20 ( € 1.99 ) • 10 ( €2.49 ) • € 7.49 ( €1.79 ) • € 0.99 ( € 0.69 ) https://github.com/kokokuo/SupermarketReceipt-Refactoring-Kata
  53. 53. © 2019, Domain Driven Design Taiwan Community Exercise Supermarket Receipt Refactoring Kata 1. ShoppingCart HandleOffers HandleOffers 2. HandleOffers Extract Method 3. 4. (Optional) - Discounted bundles https://github.com/kokokuo/SupermarketReceipt-Refactoring-Kata
  54. 54. © 2019, Domain Driven Design Taiwan Community Exercise Supermarket Receipt Refactoring Kata • C++ • C# • Java • Kotlin • Typscript • Python • Ruby https://github.com/kokokuo/SupermarketReceipt-Refactoring-Kata
  55. 55. © 2019, Domain Driven Design Taiwan Community Exercise > ( )
  56. 56. © 2019, Domain Driven Design Taiwan Community Exercise Resource DDD TW Facebook https://www.facebook.com/groups/dddtaiwan/ DDD TW Telegram https://t.me/joinchat/Gb2jERB7BGSXIOgGkMKhxw Legacy Code Github https://github.com/ddd-tw/2020-legacycode-studygroup Legacy Code Telegram https://t.me/joinchat/Ky6eQROmJCjFpNzw80ZZwA
  57. 57. © 2019, Domain Driven Design Taiwan Community End

×