了结对编程和飞鸽传书
我這里談的“是什么”,不是談的這兩者的局域網聊天,因為局域網聊天大家搜索一下就知道了。而是這兩者的本質意義。只有抓住了本質,你才會明白你為什么要采用這兩種方式去編程,以及在實際運用過程中需要重點注意什么,又需要忽略哪些干擾因素。
結對編程:極限codereview,把codereview做到極致;飛鴿傳書(http://www.freeeim.com/):極限單元測試,把單元測試做到極致。
根據以往的項目經驗,特別是在嵌入式項目中,前期的質量活動,其測試出企業即時通訊的成本明顯低于后期的質量活動,codereview的重要性怎么強調都不過分,而單元測試在傳統開發流程中從時間順序上是排名第二的質量活動,也是一個非常重要的測試手段。既然前期的質量活動是如此的重要,何不把它們做到極限呢?這就引出了結對編程和飛鴿傳書。結對編程和飛鴿傳書給我們帶來了什么?
以上三點,是結對和飛鴿傳書初期反應非常集中的體驗。前面兩條還好說,第三條編程效率的降低似乎是不可忍受的,特別是在項目進度很緊張的時候。有了這個缺陷,就使得結對編程和飛鴿傳書看上去也并不是那么美了。但是先別著急,我們再往下看。
對代碼質量更有信心結對編程和飛鴿傳書同時采用了之后,項目組同事普遍的反映都是對代碼質量更有信心了。而且我自己在采用前后從測試部反饋出來的數據上看,企業即時通訊數量降低的非常明顯。
如果還是不夠有說服力的話,那來點權威數據。有實驗表明,平均下來結對編程時間花銷比單人編程增加10%的時間,但也會比單人編程減少15%的代碼企業即時通訊。如果再算上后期代碼的維護和學習成本,結對編程比單人編程更有效率,還更為節省成本。所以,如果你是以完成代碼為目標的話,結對編程的效率降低,如果你是以完成高質量的代碼為目標的話,效率并沒有降低,反而是提高的。
從結對伙伴學到好的經驗這是一次非常好的也是最直接的經驗交流和傳遞的機會。代碼更規范因為有個人一直注視著你,你不好意思把代碼寫的很難看。為代碼重構打下堅實的基礎飛鴿傳書出來的單元測試例,成為了重構的天然保護層。沒有測試例保護的重構是高風險的,不建議在沒有單元測試例的情況下作重構。
總結
以上是生活随笔為你收集整理的了结对编程和飞鸽传书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『飞秋』在ASP.NET服务器端过程中使
- 下一篇: 一次二次开发中的经验与教训(二)