今天的主題是傳說中的 Pair Programming 結隊程式設計。
目錄
什麼是 Pair Programming
他是來自於敏捷開發(關於什麼是敏捷開發可以看我之前鐵人賽寫的這篇文章)的一種開發方式。
兩個人共用一台電腦,一個稱為導航員,一個稱為駕駛員。
駕駛員負責掌控電腦寫程式,而駕駛員則是坐在旁邊死盯著螢幕,一旦發現有bug就提醒駕駛員。
(同樣的模式也可以擴充成更多人,一個駕駛員、多個導航員,這個樣子我們稱為 mob programming)
為什麼會比較有效率?
為什麼會說這樣寫程式,比兩個人一人一台電腦分開各寫一部分程式碼有效率?
這裡的效率不是指時間喔,而應該是整體程式碼的水平/時間。
(如果要說開發時間的話的確有可能會慢一些。)
這裡斗膽以我自己的想法解釋一下為什麼會這樣:
- 兩個人都非常清楚整個程式碼為什麼這樣寫,就不需要再進行溝通
- 有bug可以第一時間被導航員發現
- 有任何疑問也可以現場討論出來
- 可以作為新人加入團隊或交接工作時的緩衝期,幫助新人熟悉程式碼跟公司的開發方式
- 不敢偷懶,兩個人互相監督
不過Pair Programming也有一些缺點:
- 駕駛員會很需要集中精神,畢竟旁邊有一個人盯著你寫程式,壓力會比自己一個人寫時大
- 總體開發時間可能會比較長,因為基本上犧牲掉了一個人的開發時間
結語
如果想知道更多有關於 Pair Programming 的事情,推薦去看bob大叔寫的無瑕程式碼系列(在各大書局都買得到,或者直接搜尋無瑕程式碼就可以了),裡面有幾本書都有提到,我記得其中一本書還直接寫了他跟另一個人 Pair Programming 的逐字稿,就像在看小說一樣,非常有趣。
以上就是這次文章的全部內容了,我是櫛風,一個學了各種奇怪東西的人,如果喜歡我的文章歡迎追蹤、按讚我的FB及IG!