最近一個項目,c#+.net3.5做的,代碼管理用的TFS,開發小組配備不是很齊全,沒有專門的測試人員,加上組員們對TFS不熟悉,有的還是java轉過來的,於是整理了一下以前的規范,強制大家執行,看了一下網上的,這方面資料也不多,粘上來獻丑了
1)開發平台的約定
a)開發操作系統環境和最終用戶使用環境(包含Service Pack版本號)
開發環境:Windows2003SP2 Windows7
用戶環境:Windows2003SP2 SP1 WinXP
b)開發工具版本
Vs2008SP1 + TFS團隊資源管理器
c)數據庫類型已經版本
SQLServer2008
d)版本控制工具
TFS
e)開發規范的執行問題
《C#代碼規范》
2)工作方式的約定
a)開始工作前的行為(每天開始工作先簽出代碼) 時間:8:30-9:30
注意、
1、根據需要,簽出你所需要修改的代碼(注:在簽出代碼時,你的簽出文件會和服務器同步)不要簽出所有代碼
2、修改代碼時,不要改動你簽出文件中他人的方法,如必需改動的,請與該方法作者協商
3、方法體不要太長,盡量不要超過20行,多進行重構
4、當一個方法完成時,請馬上構建單元測試,並測試通過
5、單元測試需可重復測試,不要出現只能測試一次,下次測試必須修改數據庫才能再測試的問題
b)每日簽入的行為(每天需簽入當日全部開發代碼) 時間:11:00-12:00 17:00-18:00
簽入步驟:
1、簽入代碼前先選擇“獲取服務器上最新版本(遞歸)”(不會對你的已簽出文件覆蓋)
2、編譯解決方案下所有工程
3、解決編譯沖突
4、運行單元測試
5、提交簽入你的簽出文件
c)版本控制行為(代碼commit的要求和發生沖突的解決辦法)
解決順序 1、出現沖突時盡量不要選擇自動合並
2、自動合並解決不了的請選擇解決按鈕,選擇手工合並
d)注意事項1、打開解決方案時在網絡環境允許的情況下一定要連接團隊開發服務器
3、禁止用Ctrl+A 后再到其它文件中用Ctrl+C 、Ctrl+V的方式回寫覆蓋代碼
4、簽入代碼時請在說明欄寫簡單說明
5、簽入代碼時關聯有效工作項,並根據當前情況選擇“關聯”或“解決”
5)單元測試的使用約定
1、單元測試必須測試類中所有的方法
2、盡量擴展單元測試的范圍,譬如在OrgCompany類中ID為int值,如果我給此值賦一個浮點值1.2323288或一個大數1292310843812834923812348方法是否能健康捕捉錯誤並返回報錯信息等
3、單元測試中不僅要測Assert.IsEqual還要假設Assert.IsNotEqual Assert.IsNull等多種測試,一個方法可對應多個測試方法
4、每個程序員對自己的單元測試負責,要做到每日運行至少兩遍自己的單元測試
開發規范的執行問題
1)制定問題
a)鼓勵全部的項目開發人員都參與規范的制定
b)鼓勵程序員交叉測試bug,報組長審批后登記到TFS,並以bug數做為項目考核獎勵及扣罰標准
2)執行問題
a)依照開發規范對於代碼進行檢測,對於存在問題要求修正。
b)通過團隊內部人員交叉檢測的方式來執行開發標准