結對編程的利與弊

結對編程的利與弊 
 
陳皓
 
cccpairprogramming 結對編程( Pair-Programming )多是近年來最爲流行的編程方式。所謂結對編程,也就是兩我的寫一個程序,其中,一我的叫Driver,另外一我的叫Observer,Driver在編程代碼,而Observer在旁邊實時查看Driver的代碼,並幫助Driver編程。而且,Driver和Observer在一塊兒時能夠相互討論,有效地避免了閉門造車,並能夠減小後期的code review時間,以及代碼的學習成本。
 
有實驗證實,平均下來,結對編程花比單人編程增長10%的時候,但也會比單人編程減小15%的代碼BUG。若是再算上後期代碼的維護和學習成本,結對編程比單人編程更有效率,還更爲節省成本。不管是對開發團隊仍是對於Business,結對編程都會是很是不錯的Programming Practice。
 
 
下面是一些結對編程的優勢:
  1. 程序員互相幫助,互相教對方,可能獲得能力上的互補。
  2. 可讓編程環境有效地貫徹Design。
  3. 加強代碼和產品質量,並有效的減小BUG。
  4. 下降學習成本。一邊編程,一邊共享知識和經驗,有效地在實踐中進行學習。
  5. 在編程中,相互討論,可能更快更有效地解決問題。
固然,結隊編程也會有一些很差的地方:
  1. 對於有不一樣習慣的編程人員,能夠在起工做會產生麻煩,甚至矛盾。
  2. 有時候,程序員們會對一個問題互不相讓(代碼風格可能會是引起技術人員口水戰的地方),爭吵不休,反而產生重大內耗。
  3. 兩我的在一塊兒工做可能會出現工做精力不能集中的狀況。程序員可能會交談一些與工做無關的事情,反而分散注意力,致使效率比單人更爲低下。
  4. 結對編程可能讓程序員們相互學習得更快。有些時候,學習對方的長外,可能會和程序員們在起滋生不良氣氛同樣快。好比,合夥應付工做,敷衍項目。
  5. 面對新手,有經驗的老手可能會以爲很是的煩躁。不合適的溝通會導到團隊的不和諧。
  6. 新手在面對有經驗的老手時會顯得很是的緊張和不安,甚至出現懼怕焦慮的的精神狀態,從而老是出現低級錯誤,而老手站在他們後面不停地指責他們致使他們更加緊張,出現惡性循環。最終致使項目進展效率低下,而且團隊貌合神離。
  7. 有經驗的人更喜歡單兵做戰,找我的來站在他背後看着他可能會讓他感到很是的不爽,最終致使編程時受到情緒影響,反而出現副作用。
是否使用結對編程,須要具體問題具體分析,不可盲目。任何事手都有他的好與壞,結對編程也不例外,只有知道了好與壞,你才能更好的利用它。
 
 
最後,請記住,人是一種很是複雜的動物,他們的缺點和心裏的陰暗面可能會比你想像得還要糟糕,而這些東西是可讓一切事物失敗的。因此,正如《人件》所說,人才是軟件開發中最核心,也是最須要花時間去關注的事情。
 
本文同時也發表於:酷殼([url]http://www.cocre.com/?p=77[/url]
 
(轉載時請註明做者和出處。未經許可,請勿用於商業用途)
 
更多文章請訪問個人Blog: [url]http://haoel.blog.51cto.com/[/url]

0html

收藏編程

haoel

93篇文章,45W+人氣,15粉絲

相關文章
相關標籤/搜索