軟體開發競賽與協同作業
自從Google宣佈了Android 平台並懸賞1000萬美元做為Android平台上的軟體設計比賽獎金, 身為程式設計好手的你想必也是摩拳擦掌,躍躍欲試, 或是呼朋引伴組一個團隊一起參加比賽為程式設計生涯留一個美好的回憶. 如果你有時間也有一些志同道合的夥伴, 我很鼓勵你們去參加這樣的比賽, 最主要的是Google舉辦的這個比賽跟我們以往所見到的程式設計比賽有許多不同, 我大致摘要如下:
- 沒有年齡限制: 所以只要你會寫程式(最好寫過Java)都可以參加.
- 不是採用圍場的方式: 所以你可以用最輕鬆的方式寫程式, 穿著睡袍, 躺著,臥著,趴著 ....
- 沒有限定題目: 只要在Android可以跑就可以, 所以Google建議的Topic最後一條是 Whatever you're excited about! 任何讓你感到興奮的題材都可以, 只要你爽就好:-)
- Google是目前唯一可以挑戰微軟的國際級軟體公司, 當你的軟體進入決賽, 除了Google的巨額獎金, 同時你與你的團隊也受到全世界的關注.
- 使用既有的OpenSource協同作業平台例如JavaForge, OpenSource@JavaWorld, SourceForge, Google Code , 因為當你的團隊是分散在各地的情況跟OpenSource開發模式是非常相似的,運用協同作業平台讓軟體文件分享例如UML, 或是Idea透過Forum來討論與溝通都非常的方便,而且這些協同作業平台對於OpenSource專案都已經得到許多成功經驗.
- 儘量使用Eclipse 內建的團隊協同工具, 例如Mylyn 做工作管理,可以縮短你工作被中斷並再Warm up的時間, 而且Mylyn可以與JavaForge 與OpenSource@JavaWorld 中的Tracker做很好的整合, 詳細功能請看這裏
- 使用版本控制如SubVersion, CVS. Eclipse跟SubVersion, CVS的整合相當好, 團隊協同開發如果不採用SubVersion或是CVS,當每個團隊成員要merge code時會花掉許多整合與測試的時間
- 使用Auto Build做Daily Build, Android的文件中也有提及可以使用Ant 來Build Android的Application, 使用Auto Build有一個好處, 可以讓你的測試人員每天檢視build好的application,有問題馬上回報,或是當build失敗時, 隔天馬上檢查build失敗的原因, 這樣可以讓開發更敏捷,與縮短整合測試的時間. 如果你是使用JavaForge或是OpenSource@JavaWorld, 可以看這篇Howto 了解如何使用Auto Build.
留言
有個問題想問很久了,您是我認識的 Jeff 或點空間的財務總管郁慧小姐嗎?
沒錯! 我們還活著, 我常去看你的Blog,寫的相當不錯, 有空來我們新辦公室坐坐
Jeff (我現在叫M.Y.)