1-程序員之間可以互相幫助,當對方或自己遇到問題的時候可以互相學習,或是一起就解決問題,能夠得到能力上的互補
2-降低學習成本,一邊編程,一邊共享知識和經驗,而且在編程的時候還不會太無聊,愉快的解決問題
3-可以讓編程環境有效地貫徹Design
4-增強代碼和產品的質量,並且可以有效的減少bug,畢竟再敲代碼的時候對bug的注意會小於旁觀者的注意,所謂的旁觀者清
結對編程有兩種情況:
一種是兩個人在一起,可以面對面的討論,這時候在配合方面上比較容易,最好是一個人寫程序,一個人在旁邊觀察,提供意見和查找bug。
第二種是兩個人沒有在一起,即無法進行有效的面對面交流,這時候可能會遇到一些其他的麻煩,例如可能出現延遲,共享桌面的時候可能會發生相互搶桌面的控制權或是同時敲代碼亦或是同時都等着對方敲,所以這種情況下就要提前說好出現情況的時候如何解決,例如出現bug後,觀察者給編程者提出bug修改請求,這時候編程者同意請求,然後觀察者取得控制權進行代碼修改,修改完後將權限歸還。其他情況的話就要求兩人事先約定了