Pair Programming 心得

前言

我在工作的專案中只要 Deadline 沒有很緊,

或者是程式要重構時,

我跟另一位工程師就會採用 Pair Programming 進行開發,

簡單來說就是:同時間一人負責寫,另一人負責檢查及提問,

透過此開發方式提高程式碼的品質。

準備

一、硬體及設置

基本上是一組電腦就夠了,

但我滿推薦多外接一組螢幕及鍵盤,

這樣不只舒適,負責看的那人要改時也更有效率,

最好連平時 IDE 的快捷鍵都一樣,

不要浪費時間在彼此配置不同的問題上。

二、方法

開發者:

大致上跟平常一樣,但隨時會被檢查者中斷並討論。

檢查者:

看到問題就直接中斷開發者,指出癥結點,

若開發者無法理解就搶鍵盤直接寫 code 給他看(?

注意是「無法理解」而非「沒有共識」。

共識:

全程請保持理性客觀。

開發前

最好先口頭協調好接下來的執行項目,

目的及處理方法順過一遍,

兩人都覺得沒問題就可以開始。

我認為這個階段產生衝突比開發中才產生來得好,

因為可以有效降低中斷的次數。

開發中

過程中若發生衝突,

仔細分析哪個方案適合套用現況,

而不是為了自己的論點爭得面紅耳赤。

成效

一言以蔽之:面面俱到。

平時一個人獨立開發可能會有所疏漏,

但多了一雙眼睛,盲點很容易就被抓到了。

架構寫得不好,及時調整,

測試案例有缺,直接補上;

括號少了一個,立馬指出,

腦袋抽筋無法寫 code ,當場換人。

感想

每個人開發時的想法及習慣不太一樣,

進行 Pair Programming 經常可以看到嶄新的寫法,

此時就會恍然大悟:「原來還可以這樣寫啊!」

我認為是極佳的技術交流。

有時產出 bug 的當下被糾正也很棒,

省下許多找 bug 的時間。

對我而言, Pair Programming 無庸置疑地帶來了良好的結果,

但過程中還是有過幾次帶火藥味的衝突,

要如何化解,就是考驗各自的 EQ 及耐心了。

有什麼想法嗎?快來跟大家分享你的看法。