從零開始啓動一個項目,需要哪些準備工作

原文鏈接這裏

話題的由來

某天午飯前,項目組一同事挑起了這個話題,由於是馬上要到飯點了,所以沒有細聊,但公認的結論是,從零開始準備一個項目,花費的工作量不小。
由於最近我參與了一個全新的web項目,有切身的體驗,所以記錄下來。
主要的工作量包括如下幾點:

  • 代碼開發環境準備
  • 開源軟件選擇
  • 版本管理軟件
  • 基礎代碼開發
  • 問題處理
  • 制度建設

代碼開發環境準備

  • 支持j2ee的eclipse,版本當然要最新的,插件則包括easyexplore、國際化資源編輯器;
  • JDK1.8,注意不是JRE1.8,要附帶源碼,否則開發過程中看不到JDK的源碼就很鬱悶了;
  • 構建工具,Ant和Maven;Ant平時用的比較多,所以很熟練,但用maven的話下載開源軟件比較方便,所以也要準備好;
  • 反編譯工具,開發過程中可能會遇到開源軟件的使用問題,這時如果可以走讀一下代碼,可以提供一些思路;
  • easyexplore,通過這個插件,可以很方便的打開代碼所在的目錄,否則還需要手工一級、一級的跳過去,麻煩;
  • lombok,通過這個工具,代碼裏可以少很多getter/setter之類的東東;

開源軟件選擇

開源軟件很多,選擇面很廣。但考慮到項目需要商用,所以基於GPL之類的協議開源的軟件都不要使用,否則後續整改進來非常麻煩;同一功能的開源軟件裏,評價前要準備幾款備選,同時評估,從中挑選社區活躍度高、維護人員努力一點的,否則軟件出了Bug,就比較坑了。

一般的選擇有

  • 日誌記錄器,我用過log4j、log4j2、slf4j,比較過後,我傾向於使用slf4j做前端,log4j或者log4j2做後端,原因是slf4j的接口比較好用,log4j或者log4j2的資料很多,會做配置的人也多,所以兩方面好處都可以享受;
  • ibatis,ibatis2.3.4.726版本從08年開始使用,雖然這個版本已經停止維護,但由於使用簡單,沒有使用經驗的新進員工只要會使用SQL,基本上一週之後就可以上手,培訓的代價小,所以新項目裏仍然打算使用這款軟件;
  • spring,我使用的spring時間還比較短,所以挑主流分支的最新版本;
  • mysql及其jdbc驅動,項目啓動時直接從官網下載其時的最新版本,項目進行過程中如遇到問題則考慮更新,否則就不變了;
  • xstream,XML序列化的神器,保存一些臨時數據非常有用,可以少寫很多代碼;
  • json,可選軟件非常多,比如google的gson,jackson等,可以依據團隊成員的能力和項目的特性,從中選擇一款出來;
  • commons庫,比如commmons-io、commons-file-upload、commons-codec、commons-logging、commons-lang等,這些軟件一般不需要專門下載,很多開源軟件的發佈包中都會附帶,當然也可以直接在apache的官網上下載最新版本;
  • 。。。

版本管理軟件

svn和git,中心服務器是SVN,本地爲了方便,同時安裝了svn客戶端和git,這樣可以創建很多分支,分別用於開發新特性、試驗新技術、修復Bug等。

基礎代碼開發

這個要看團隊成員的能力而定,但一般可以分爲如下幾種。

  • 數據庫訪問封裝
  • 頁面與服務端通信協議封裝
  • 服務端接口樣例實現
  • 頁面基本樣式定義
  • 頁面樣例代碼
  • 。。。

制度建設

項目涉及多人協作時,必須要考慮到團隊協作時的制度。

  • 需求傳遞和變更制度,需求和方案是需要管理的,團隊的能力需要逐步培養,而外部的預期也要可控,否則會導致成員天天加班累死,外部呈現卻不好,以至於惡性循環。
  • 會議制度,晨會、周例會。
  • 開發流程,開發人員領取到任務之後需要完成哪些動作,一般要完成Story分析、評審、代碼開發、過自測用例、showcase、修改showcase問題等。
  • Story評審制度,主要評審的是Story分析,那麼Story分析需要完成什麼內容,通過和不通過的標準,Story評審的時機,參與人員等都需要明確。
  • 代碼評審制度,一般需要在轉測試之前完成,代碼好、壞的標準,差的代碼如何修改等。
  • 問題單修改流程,一般要包括測試提單、測試經理確認、項目經理確認、開發人員分析、開發人員修改、項目經理審覈、測試經理安排迴歸、測試人員迴歸。測試人員完成提單和迴歸問題單,首先要在問題單裏填充必要的信息,以提高溝通效率。開發人員在其中主要完成修改和自測試的環節,基本要求就是一次搞定,避免測試人員返工。
  • 開發規範,比如web頁面的規範、java代碼的規範等。
  • 求助渠道,項目團隊成員有了困難,不同類型困難的求助人要明確出來,不同級別問題的求助人也要明確出來。
  • 培訓制度,收集團隊近期遇到的問題,統一講解和答疑。
  • 。。。

結尾

萬事開頭難,事情太多要煩,那麼有幫手可以分擔一些的話,生活將無比美好。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章