前言
我在工作的專案中只要 Deadline 沒有很緊,
或者是程式要重構時,
我跟另一位工程師就會採用 Pair Programming 進行開發,
簡單來說就是:同時間一人負責寫,另一人負責檢查及提問,
透過此開發方式提高程式碼的品質。
準備
一、硬體及設置
基本上是一組電腦就夠了,
但我滿推薦多外接一組螢幕及鍵盤,
這樣不只舒適,負責看的那人要改時也更有效率,
最好連平時 IDE 的快捷鍵都一樣,
不要浪費時間在彼此配置不同的問題上。
二、方法
開發者:
大致上跟平常一樣,但隨時會被檢查者中斷並討論。
檢查者:
看到問題就直接中斷開發者,指出癥結點,
若開發者無法理解就搶鍵盤直接寫 code 給他看(?
注意是「無法理解」而非「沒有共識」。
共識:
全程請保持理性客觀。
開發前
最好先口頭協調好接下來的執行項目,
目的及處理方法順過一遍,
兩人都覺得沒問題就可以開始。
我認為這個階段產生衝突比開發中才產生來得好,
因為可以有效降低中斷的次數。
開發中
過程中若發生衝突,
仔細分析哪個方案適合套用現況,
而不是為了自己的論點爭得面紅耳赤。
成效
一言以蔽之:面面俱到。
平時一個人獨立開發可能會有所疏漏,
但多了一雙眼睛,盲點很容易就被抓到了。
架構寫得不好,及時調整,
測試案例有缺,直接補上;
括號少了一個,立馬指出,
腦袋抽筋無法寫 code ,當場換人。
感想
每個人開發時的想法及習慣不太一樣,
進行 Pair Programming 經常可以看到嶄新的寫法,
此時就會恍然大悟:「原來還可以這樣寫啊!」
我認為是極佳的技術交流。
有時產出 bug 的當下被糾正也很棒,
省下許多找 bug 的時間。
對我而言, Pair Programming 無庸置疑地帶來了良好的結果,
但過程中還是有過幾次帶火藥味的衝突,
要如何化解,就是考驗各自的 EQ 及耐心了。
留言列表