qing 的「程式碼共有下的團隊開發」

Jul
27

這是一篇文章聊到「怎麼讓程式碼與程式員之間的關係,從原來的一對一擴展成為多對多的樣貌,進而從中獲得好處」的文章,撰文者 qing 是一位非常認真汲汲於 programming methodology 與 java programming 的 guru,同時也是我非常敬愛的新竹中學軟體研究社學長。

文章中提到的 XP,也算是發表好幾年的方法論了,而且我猜,說不定太極影音的 MIS 系統開發組就採用了不少裏頭提到的方法。我在大五參加遊戲設計比賽時,也採用過 pair programming 來試驗成效,大抵來說,的確是減少了一些不必要的邏輯錯誤或 typo,同時 debug 的成效也比一個人埋頭苦幹在十多萬行的 c++ 程式碼裏頭來得快多,但我想 pair programming 最直接的助益,就在於有另一個人和你一樣,對一個系統或一大段程式碼的夠了解,足夠到可以和你討論一些細節或延伸的想法與設計,這大大地讓 programmer 擺脫了「I am programming alone without anyone figuring out what I was/am/will be doing...」,非常有趣的經驗。

最後一段的「讓每個成員寫出一致風格的程式碼」,讓我忍不住想到印度的斯巴達式資訊教育~

2 comments

pair programming 是個非常有趣的經驗。

我並沒有看過 xp 裏的介紹,也沒閱讀過提出 pair programming 的 paper 來,不過對於兩個人一同看程式碼;coding 過程中,有人和你討論這個時候該用哪個 data structure;或是可以把之前寫的兩個 class method 與正在寫的這個 method 重整,重新定義出更可以重覆利用的 method 等過程…印象非常的深刻。

coding 中的 programmer,有時很容易因為 debug 而被整個思緒搞得很混亂(當然,也是有人很擅長 debug 的),然後當你想找個人討論或聊時,又常常會一問三不知,要不就是對方的搭腔,常常和你想問的沒啥關係。總之,就是缺乏與你一樣夠了解一件事的人,所以討論很難成,但 pair programming 卻無形中提供了一個人供你討論,這是個非常難能可貴的情況。

大型編制是不是就不太可能,這我不曉得,也懶得去曉得。不過我非常建議有機會的人,應該去試試看 pair programming,好好認真執行它個數個禮拜至數週,從中會有很多不同感受的。

PS. 我發覺你每次留的 link,我都看不出有什麼關聯性就是了,就當你是在給自己的 blog 打廣告好了 :)

好幾年前有緣跟一堆印度仔一起共事,台灣人講OO,美國人講OO,印度人講OO,很有意思,似乎宗教信仰會影響OO的觀點?

Pair_Programming是屬於雙向溝通,也算是人工型的Debug,應該是使少數編制,大型編制不太可能...,人數參與越多,錯誤率降低很多,時程就會拖很長,好壞參半!

由閣下轉載的文章來看,專業分工跟對等分工,差不多已經走到面臨抉擇的時候了
http://tw.myblog.yahoo.com/Akai-jokejoke/article?mid=853&prev=959&next=7...

這整篇文章看起來像是作者的情緒抒發,Java_Class會隨後趕上Qt_Class的數量,要從數千個Class找出合適並套用,內部語法結構風格還要一致,還真的是一門大學問!

〝最後一段的「讓每個成員寫出一致風格的程式碼」,讓我忍不住想到印度的斯巴達式資訊教育~〞
這是寫給Supervisor看的,讓Supervisor有所體認,自己的分量到底夠不夠,讓每個成員寫出一致風格的程式碼。

Post new comment

這個欄位並不會被公開,請放心輸入。
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options