• Like
TDD 介紹
Upcoming SlideShare
Loading in...5
×
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • good present~ I like it
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,207
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
29
Comments
1
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Willie <willie@issdu.com.tw>
  • 2. 本投影片使用 高橋流簡報法
  • 3. 測試先行 Test Driven Development 開發流程
  • 4. 1. 寫測試 執行此測試一定會失敗
  • 5. 2. 寫程式 目標為通過前一個失敗測試
  • 6. 3. 重構 調整架構或移除程式碼 重構後需通過所有測試
  • 7. <範例> 程式範例抄自 http://blog.extracheese.org/2009/11/how_i_started_tdd.html
  • 8. 費式數列 0 1 1 2 3 5 8 13 21 34 55…
  • 9. 1. 寫測試 2. 寫程式 3. 重構
  • 10. 1. 寫測試 2. 寫程式 3. 重構
  • 11. 1. 寫測試 2. 寫程式 3. 重構
  • 12. PASS 目前沒有重構的必要
  • 13. 1. 寫測試 2. 寫程式 3. 重構
  • 14. 1. 寫測試 2. 寫程式 3. 重構
  • 15. 1. 寫測試 2. 寫程式 3. 重構
  • 16. PASS 目前沒有重構的必要
  • 17. 1. 寫測試 2. 寫程式 3. 重構
  • 18. 1. 寫測試 2. 寫程式 3. 重構
  • 19. 1. 寫測試 2. 寫程式 3. 重構
  • 20. PASS 目前沒有重構的必要
  • 21. 1. 寫測試 2. 寫程式 3. 重構
  • 22. 1. 寫測試 2. 寫程式 3. 重構
  • 23. 1. 寫測試 2. 寫程式 3. 重構
  • 24. 思考 無限的 if 判斷不是辦法…
  • 25. 重構
  • 26. 1. 寫測試 2. 寫程式 3. 重構
  • 27. 1. 寫測試 2. 寫程式 3. 重構
  • 28. 測試需到 何種程度 寫到你有信心程式已經正確無誤
  • 29. </範例>
  • 30. <TDD好處>
  • 31. (1) 使用者角度 設計 API
  • 32. (2) 低耦合 高聚力
  • 33. (3) 維護性 容易交接 / 說明文件
  • 34. (4) Over Design
  • 35. (5) 鼓勵重構 重構前必須先有充足測試
  • 36. </TDD好處>
  • 37. <TDD限制>
  • 38. (1) Concurrency
  • 39. (2) Security
  • 40. </TDD限制>
  • 41. <兩個問題>
  • 42. (1) 什麼是 好架構
  • 43. 套用 設計模式
  • 44. 類別/函式 越多越好
  • 45. 答案
  • 46. Testable Code
  • 47. Testable Code
  • 48. Testable Code
  • 49. (2) 如何學會 設計好架構
  • 50. 多看 程式碼
  • 51. 資深帶 資淺
  • 52. 搭檔編程 導入困難 (衝擊公司文化)
  • 53. 聘請 顧問架購師
  • 54. 人類不是習慣 完美的動物 (出自人月神話一書)
  • 55. if ‘架構師’ == ‘人類’: print(‘架構師也會犯錯’) (只是架構師犯錯機率較低)
  • 56. 答案
  • 57. 採用 TDD 讓自己成為自己的導師
  • 58. </兩個問題>
  • 59. TDD 很簡單 因為不需要新技術
  • 60. TDD 很困難 因為要改變開發習慣
  • 61. 它是我們的敵人
  • 62. 推薦書單
  • 63. 多謝聆聽