專案總結【收集】
經驗與教訓
雖然我們平時說“成功的經驗,失敗的教訓”,但是有時要區分兩者並不容易,因為有些事情雖稱不上成功,卻也不至於失敗。故請允許我暫時將其混成一談。
#1 分而治之(divide and conquer),重構程式碼
在專案中當複雜業務邏輯變得複雜時,有的程式設計師沒有膽量去重構舊程式碼,而取用保守方式,拼命地新增新的程式碼。這樣做的後果就是會導致程式碼量激增,難於維護。“分而治之”可以幫助我們理清複雜的業務,提高程式碼可重用性。所以任何時候,都不要忘記這個程式基本的方法學。
#2 避免在程式中儲存狀態(State)
有的程式設計師偏愛全域性型別變數,而忽略通過引數和返回值進行共享資料。狀態對程式來說其實就是一種負擔,在多執行緒和分散式的環境下更是如此。還有,程式設計的另一原則是儘量縮小變數有效範圍(Scope),大家可以參考一下《Code Complete》中一些建議。
另外,要小心使用靜態變數,切記要通過final關鍵字和Collections.unmodifiableXxxx方法(對於集合型別)使其不可變。如果需要在物件之間共享狀態,可以考慮使用HttpSession或分散式的快取如(JBoss Cache等)。
#3 設計好你的業務物件模型
我看過很多專案的程式碼中其大量存在所謂的PO(Persistent Object)用於ORM和VO(Value Object)或稱為DTO(Data Transfer Object)用於程式之間傳輸資料,更有甚者,這兩種物件只是相差一兩個屬性。這樣的做法的弊端是程式碼中充斥大量林林總總的copyXxx的方法,導致程式出現一些不可預期的行為。
其實,通過對業務物件分析,尤其是物件之間的關係建立,上述問題中的大部分都是可以避免的。
專案的第一階段進入到後期測試過程中,發現了很多bug,在修改bug 的過程中,感到很累,但同時覺得這段時期卻是收穫最多的時候,下面我將整理後的專案管理與技術經驗做一下總結,願大家多多指教!
專案運作方面:
1、在模組功能已經基本完成的情況下新增新的功能時,一定要考慮周全,因為這時前面已經寫了很多程式碼,加入新的功能後,對先前程式碼造成的影響是不可預知的,必要時需要大家(特別是編碼人員)進行開會討論一下。
2、在專案的遇到的問題,應隨時記錄,以供整理後,作為自己的經驗積累。
3、在專案組之間應多多加強交流,遇到的問題,解決的問題都是大家共同的經驗積累。
4、需求文件與設計文件一定要與程式碼同步,為與程式設計師溝通與交流,提供一個依據。
5、在設計模組功能時,要考慮動作的整個流程,從開始到結束,注重“使用者體驗”。
6、注意不同瀏覽器之間的差別。
7、對顯示的控制(包含極限)。
文件:
1,需求分析一定要透徹,不僅要了解所需的,還要有詳盡的文件,包括需求文件,資料庫文件(表名,欄位名和它們的屬性及表達意思),部署文件;
2,開發過程中,對一些常見到環節最好進行記錄
3,對專案開發,測試中的錯誤要進行記錄,包括錯誤提示,解決方法;
4,專案結束後,要用使用文件,包括安裝,執行平臺及環境,使用中常見問題解決方案,以及操作說明;
框架構造:
日期控制元件;驗證方式;分頁操作;加密機制;上傳下載;樹狀選單;級聯選單;許可權管理;定時排程;遠端呼叫;ajax框架;
專案測試:
測試時一定要準備好測試的資料,並整理成相應當sql檔案,以便能隨時測試以及測試資料的清除,這樣在開發中就會避免一些不必要的因資料不完整而出現的問題;
要求:
開發中用到版本控制器,要求每次修改檔案時先從伺服器上更新一下才修改,提交時要有註釋說明
相關文章
- 【Vue專案總結】後臺管理專案總結Vue
- BBS專案專案總結
- Nuxt專案總結UX
- 今日專案總結
- Laravel 專案總結Laravel
- 番茄專案總結
- Vue專案常用總結Vue
- ReactNative 專案工作總結React
- 爬蟲專案總結爬蟲
- Headline 專案總結中
- 小程式專案總結
- Vue + Canvas專案總結VueCanvas
- 小程式專案-總結
- 團隊專案總結反思
- OpenGL ES專案總結一
- vue專案問題總結Vue
- MySQL專案實戰總結MySql
- React-Native專案總結React
- 幾次外包專案總結
- vue個人小專案總結Vue
- 日常專案經驗總結
- 專案review步驟還有專案交接總結View
- JVM垃圾收集器總結JVM
- 專案管理PMP過關總結專案管理
- 伺服器部署專案總結伺服器
- 一個React專案總結(toB)React
- vuejs專案效能優化總結VueJS優化
- Maven專案中resources配置總結Maven
- 實習專案開發總結
- Spring Boot+Mybatis專案總結Spring BootMyBatis
- nginx部署vue專案方法總結NginxVue
- 《軟體專案經驗總結》
- vue前端專案工作流(首個專案總結)Vue前端
- 京淘專案總結day02
- OpenCV翻譯及專案總結一OpenCV
- uniapp專案所遇問題總結APP
- vue + iview 專案實踐總結 【完】VueView
- angualr7專案開發總結
- uniapp專案實踐總結(二十)URLScheme 協議知識總結APPScheme協議