Pair Programming & Continuous lntegration

14 views
Skip to first unread message

Anthony Tsai

unread,
May 22, 2013, 10:22:48 PM5/22/13
to AgileMethodTW

敏捷方法-grade system開發心得

這次的期中程式作業有別於一般的team project,以前我們在寫project時總是將一個程式分成好幾個部分,每個人分別各自寫自己負責的
地方,最後再將每個人的code整合起來,這種方法在最後常常會遇到很多問題,舉例來說,可能會有這種情況:每個人負責的部分可能在各自的電腦上跑都完
全沒問題,最後花了很多的時間整合,好不容易把許多compile error 都處理掉後,卻又造成的更難找出bug的 runtime
error,於是整合的人便要花時間把各個不同人寫出來的code全部搞懂,最後才辛苦的完成這個程式,這種方法可以說效率非常的差,而且還會遇到每個
人的coding style不同以及程式碼品質不一等等問題,當需要去維護、擴充及更改程式時更有可能一個頭兩個大,可能最後乾脆全部重寫還比較簡
單,但是經由這學期上課所學的敏捷方法來開發程式後,除了可以快速的開發出程式,另外還可以提升整個程式的品質,易維護、修改、擴充。

依照老師所教的敏捷方法,要照工序一步一步來完成這個程式,並且當完成前面的分析、設計要coding 時,也要pair-programing ,
這種方式是非常有條理的,經過好的設計,再加上寫程式時從最底層寫到上層的bottom-up方式搭配先前寫好的test code能有效的確保整個程
式的正確性,每完成一部份及加入到先前的版本中,持續的整合,最後完成時就省去了整合的時間,而且可以保證程式沒有錯,因為每次加進去的code 都通
過了test case ,除此之外,因為程式是一起寫的,因此coding style是統一的,而且每個人都懂所有的code ,再加上好的
class header、method header,少了複雜的整合步驟,也解決了所有之前遇到的問題,使程式碼擁有高品質,也容易維護、修改、擴
充。

這次的Grade System程式,老師已經先幫我們做好前面幾道工序了,因此只要看完老師提供的文件,就算完成前面的分析、設計部份了,因此我們
當寫完test case在做coding時就會發現整個程式寫下來其實是很順的,因為前面需要經驗的分析及設計老師都處理好了,所以我們寫的速度其實
很快,寫完一部分馬上進行test,看看是否成功通過測試,有錯的話則回去看看method header再看看程式碼有沒有錯誤,發現之後趕快更改,
因為有pair-programing的關係,所以我們在遇到問題時其實發現的還蠻快的,一發現partner有打錯就可以馬上更正,也比較不容易卡在
一個點不知道如何下手,雖然因為我們都是第一次用敏捷方法的方式並按照工序一步一步開發程式,所以前面一開始有點不習慣,但是寫到後來就會發現只要真的
有按步驟並依序完成,最後感覺就像倒吃甘蔗一樣越吃越甜,開發越來越順利,要做的事情越來越少,因此也讓我們體會到敏捷方法的好處,整體來說開發的效率
以及品質都大幅提升。

Reply all
Reply to author
Forward
0 new messages