一次結對編程與TDD實踐
有機會可以接到一個小型商務平臺的項目,最近就開始做一個平臺的一些基礎組件,比如新聞發布模塊和用戶管理模塊。開發團隊只有我和另一個同學,一共兩個人。而我們對XP開發過程比較有興趣,剛剛好可以進行結對編程和TDD。
開發已經進行了一個星期左右,已完成新聞發表模塊中的新聞管理模塊。因為完全沒有經驗,而且開發時間不夠(只能在沒有課的上午或者下午開發),開發進度很慢。但是自我感覺不錯,因為體驗了以前沒有體驗過的開發過程,從中學到了很多東西。
在整個開發過程中,我們始終堅持“測試先行”原則。首先列出要完成的任務清單,用JUnit寫出相應測試代碼,然后運行測試,出錯,偽實現,重構。一般都是兩個人,一個人持有鍵盤,寫一個鐘左右的代碼,然后一邊討論一邊寫代碼。在完成了一段代碼之后有種神奇的感覺,好像不知不覺中代碼就被寫出來了,這可能是TDD神奇的地方。先寫出符合需求的測試,接著按照測試來寫代碼,就是這么簡單。
不過完成了新聞發布模塊之后,經過討論,決定下一步完成前臺的UI。對于UI的開發,平時例子學習了不少,自己寫的toycode也寫了一些,但是在實際應用開發中對我們還是比較陌生。一開始準備用簡單的JSP和Servlet來做前端,但是在前端控制器中代碼實現有點混亂,現在就卡在UI這里了,最后經過討論決定用WebWork作前端控制器。
以前在看K.Back的《解析極限編程》時,看到他把結對編程描述的很神奇:
結對程序員:
五一應該還會繼續完成這個項目,而且是一邊做一邊學。
開發已經進行了一個星期左右,已完成新聞發表模塊中的新聞管理模塊。因為完全沒有經驗,而且開發時間不夠(只能在沒有課的上午或者下午開發),開發進度很慢。但是自我感覺不錯,因為體驗了以前沒有體驗過的開發過程,從中學到了很多東西。
在整個開發過程中,我們始終堅持“測試先行”原則。首先列出要完成的任務清單,用JUnit寫出相應測試代碼,然后運行測試,出錯,偽實現,重構。一般都是兩個人,一個人持有鍵盤,寫一個鐘左右的代碼,然后一邊討論一邊寫代碼。在完成了一段代碼之后有種神奇的感覺,好像不知不覺中代碼就被寫出來了,這可能是TDD神奇的地方。先寫出符合需求的測試,接著按照測試來寫代碼,就是這么簡單。
不過完成了新聞發布模塊之后,經過討論,決定下一步完成前臺的UI。對于UI的開發,平時例子學習了不少,自己寫的toycode也寫了一些,但是在實際應用開發中對我們還是比較陌生。一開始準備用簡單的JSP和Servlet來做前端,但是在前端控制器中代碼實現有點混亂,現在就卡在UI這里了,最后經過討論決定用WebWork作前端控制器。
以前在看K.Back的《解析極限編程》時,看到他把結對編程描述的很神奇:
結對程序員:
- 使彼此都專注于任務
- 一起頭腦風暴,討論系統的精化
- 理清思路
- 在搭檔陷入困境時要主動,這樣才能減少挫折
- 使彼此都對團隊的實踐負責
五一應該還會繼續完成這個項目,而且是一邊做一邊學。
posted on 2007-04-28 20:40 _Kai_ 閱讀(491) 評論(0) 編輯 收藏 所屬分類: 隨感