Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
不妥協的河蟹之道
你今天 code review 了嗎?
⾃自我介紹
• 阿官 - Ken Kuan
• Hooloop - Extreme Programmer
• 專注於
• iOS, Android, Scrum, CI, Testing
何謂不妥協的河蟹之道?
不妥協的軟體品質
和諧的⼯工作氣氛
軟體品質 ⼯工作氣氛
What is Code Review
• 就是程式碼審查
• 分為:
• 直接 review
• 透過⼯工具 (email, github)
• Pair Programming
低密度
⾼高密度時間⻑⾧長
時間短
直接
間接
How we review
Review!
GitFlow + GitHub
Live Demo
究竟,Code Review 如
何讓團隊不妥協⼜又和諧?
Code Review 三⼤大妙⽤用
• 改善團隊氣氛
• 強化團隊學習
• 維持軟體品質
Code Review 妙⽤用⼀一
改善團隊氣氛
情境模擬
• ⼀一早上班更新程式碼後,看到了些許錯誤,你該
怎麼辦呢?
A. 默默幫他改掉
B. ⾛走過去拍拍他肩膀
C. 裝作沒看到
A、默默幫他改掉
你 肇事者
B、⾛走過去拍拍他肩膀
• 你:經過⼀一番掙扎
開放式辦公室
肇事者⼼心理三部曲
真謝謝啊 夠了喔! 你針對我啊
C、裝作沒看到
• 肇事者 - 毫無影響
• 你 - 悶久了也會內傷
軟體品質低落
⻑⾧長此以往......
Code Review 如何解決上
述問題?
權⼒力 責任
權⼒力
• Code Review 賦予團隊成員 review code 的權
⼒力!
• 有沒有權⼒力差很多嗎?
賦予⽼老⿃鳥、菜⿃鳥同等權⼒力
Reviewer Author
讓我們回到剛剛的情境
• 程式碼都還沒進來
• 可以在系統上直接反應
A、默默幫他改掉
B、⾛走過去拍拍他肩膀
• 你、肇事者:⼀一切照規定來!
C、裝作沒看到
• Reviewer 不只是擁有 review code 的權⼒力,更有
認真 review 的責任
責任
• 賦予團隊成員 review 權⼒力的同時, reviewer 也擁
有承擔該段 code 的責任。
Code 的好壞,⼈人⼈人有責!
情境⼆二:⼯工程師最害怕
的夢魘
腥⾵風⾎血⾬雨的檢討會議
找出兇⼿手!
找出兇⼿手以後?
贏了⾯面⼦子,輸了裡⼦子
• 不犯錯 = 各⾃自為政
• 出了問題,找代罪羔⽺羊
以不犯錯為最⾼高指導原則
犧牲軟體品質!
難道,犯錯真的是肇事者
⼀一個⼈人的問題嗎?
Scrum
• 團隊!
責任分擔
• Reviewer 和 Author 同時 OWN 該段 code
• Reviewer 責任更⼤大
• 不再推卸責任
• 增加責任感
另⼀一個好處:信任
• reviewer 給予的建議,是為了產品更好
• ⾝身為 author ,也會更加信任 reviewer 的
feedback
• 培養團隊成員的信任感,達到良好的合作模式
最終⺫⽬目標:和諧
• 真正的和諧是⼀一起為了共同的⺫⽬目標⽽而努⼒力,⽽而⾮非
沈默通過⼀一個提案
• 責任、信任
• 指責 -> 解決問題
• 了解彼此個性
Code Review 妙⽤用 2
強化團隊學習
只有新⼿手需要學習?
• ⽼老⿃鳥更需要學習
軟體的開發技術與觀念與時俱進,往往不
到⼀一年就過時了!
⽼老⿃鳥學習的障礙
• 科學實驗指出:年紀⼤大學習慢不是因為⽣生理退化,
⽽而是因為被⾃自⾝身經驗、觀念束縛!
最好的學習⽅方式
• 看別⼈人寫的 code
如果沒有 code review
• 什麼時候會看別⼈人的 code ?
• 寫新功能剛好需要寫到
• Demo 出包,找戰犯修 bug 的時候
幾乎沒有!
學習最⼤大的動⼒力
強迫看 code
• 在責任感的驅使下,硬著頭⽪皮也要看懂
• 學習 > 指導
• 透過交流進⽽而理解別⼈人想法
Code Review 妙⽤用三
維持軟體品質
對 Code Review 的質疑
浪費時間?
code review 發現問題
的機率?
強化軟體品質
相當⾼高!
改善品質 = 節省時間
結論
• 改善團隊氣氛
• 強化團隊學習
• 維持軟體品質
有了 code review 以後
kenkuan@hooloop.com
不妥協的河蟹之道
不妥協的河蟹之道
Prochain SlideShare
Chargement dans…5
×

不妥協的河蟹之道

3 147 vues

Publié le

不妥協的河蟹之道

Publié dans : Logiciels
  • Soyez le premier à commenter

不妥協的河蟹之道

  1. 1. 不妥協的河蟹之道 你今天 code review 了嗎?
  2. 2. ⾃自我介紹 • 阿官 - Ken Kuan • Hooloop - Extreme Programmer • 專注於 • iOS, Android, Scrum, CI, Testing
  3. 3. 何謂不妥協的河蟹之道?
  4. 4. 不妥協的軟體品質
  5. 5. 和諧的⼯工作氣氛
  6. 6. 軟體品質 ⼯工作氣氛
  7. 7. What is Code Review • 就是程式碼審查 • 分為: • 直接 review • 透過⼯工具 (email, github) • Pair Programming
  8. 8. 低密度 ⾼高密度時間⻑⾧長 時間短 直接 間接
  9. 9. How we review Review! GitFlow + GitHub
  10. 10. Live Demo
  11. 11. 究竟,Code Review 如 何讓團隊不妥協⼜又和諧?
  12. 12. Code Review 三⼤大妙⽤用 • 改善團隊氣氛 • 強化團隊學習 • 維持軟體品質
  13. 13. Code Review 妙⽤用⼀一 改善團隊氣氛
  14. 14. 情境模擬 • ⼀一早上班更新程式碼後,看到了些許錯誤,你該 怎麼辦呢? A. 默默幫他改掉 B. ⾛走過去拍拍他肩膀 C. 裝作沒看到
  15. 15. A、默默幫他改掉 你 肇事者
  16. 16. B、⾛走過去拍拍他肩膀 • 你:經過⼀一番掙扎 開放式辦公室
  17. 17. 肇事者⼼心理三部曲 真謝謝啊 夠了喔! 你針對我啊
  18. 18. C、裝作沒看到 • 肇事者 - 毫無影響 • 你 - 悶久了也會內傷 軟體品質低落
  19. 19. ⻑⾧長此以往......
  20. 20. Code Review 如何解決上 述問題? 權⼒力 責任
  21. 21. 權⼒力 • Code Review 賦予團隊成員 review code 的權 ⼒力! • 有沒有權⼒力差很多嗎?
  22. 22. 賦予⽼老⿃鳥、菜⿃鳥同等權⼒力 Reviewer Author
  23. 23. 讓我們回到剛剛的情境
  24. 24. • 程式碼都還沒進來 • 可以在系統上直接反應 A、默默幫他改掉
  25. 25. B、⾛走過去拍拍他肩膀 • 你、肇事者:⼀一切照規定來!
  26. 26. C、裝作沒看到 • Reviewer 不只是擁有 review code 的權⼒力,更有 認真 review 的責任
  27. 27. 責任 • 賦予團隊成員 review 權⼒力的同時, reviewer 也擁 有承擔該段 code 的責任。 Code 的好壞,⼈人⼈人有責!
  28. 28. 情境⼆二:⼯工程師最害怕 的夢魘
  29. 29. 腥⾵風⾎血⾬雨的檢討會議 找出兇⼿手!
  30. 30. 找出兇⼿手以後?
  31. 31. 贏了⾯面⼦子,輸了裡⼦子 • 不犯錯 = 各⾃自為政 • 出了問題,找代罪羔⽺羊
  32. 32. 以不犯錯為最⾼高指導原則 犧牲軟體品質!
  33. 33. 難道,犯錯真的是肇事者 ⼀一個⼈人的問題嗎?
  34. 34. Scrum • 團隊!
  35. 35. 責任分擔 • Reviewer 和 Author 同時 OWN 該段 code • Reviewer 責任更⼤大 • 不再推卸責任 • 增加責任感
  36. 36. 另⼀一個好處:信任 • reviewer 給予的建議,是為了產品更好 • ⾝身為 author ,也會更加信任 reviewer 的 feedback • 培養團隊成員的信任感,達到良好的合作模式
  37. 37. 最終⺫⽬目標:和諧 • 真正的和諧是⼀一起為了共同的⺫⽬目標⽽而努⼒力,⽽而⾮非 沈默通過⼀一個提案 • 責任、信任 • 指責 -> 解決問題 • 了解彼此個性
  38. 38. Code Review 妙⽤用 2 強化團隊學習
  39. 39. 只有新⼿手需要學習? • ⽼老⿃鳥更需要學習 軟體的開發技術與觀念與時俱進,往往不 到⼀一年就過時了!
  40. 40. ⽼老⿃鳥學習的障礙 • 科學實驗指出:年紀⼤大學習慢不是因為⽣生理退化, ⽽而是因為被⾃自⾝身經驗、觀念束縛!
  41. 41. 最好的學習⽅方式 • 看別⼈人寫的 code
  42. 42. 如果沒有 code review • 什麼時候會看別⼈人的 code ? • 寫新功能剛好需要寫到 • Demo 出包,找戰犯修 bug 的時候 幾乎沒有!
  43. 43. 學習最⼤大的動⼒力 強迫看 code • 在責任感的驅使下,硬著頭⽪皮也要看懂 • 學習 > 指導 • 透過交流進⽽而理解別⼈人想法
  44. 44. Code Review 妙⽤用三 維持軟體品質
  45. 45. 對 Code Review 的質疑
  46. 46. 浪費時間?
  47. 47. code review 發現問題 的機率?
  48. 48. 強化軟體品質 相當⾼高!
  49. 49. 改善品質 = 節省時間
  50. 50. 結論 • 改善團隊氣氛 • 強化團隊學習 • 維持軟體品質
  51. 51. 有了 code review 以後
  52. 52. kenkuan@hooloop.com

×