项目一般开发流程
今天這篇博文主要講的是項目的一般開發流程。科學的開發流程可以提高效率,減少不必要的加班,由此可見開發流程在項目開發中的重要地位。項目開發流程一般包括以下幾步:
一、需求評估
產品經理、研發工程師、測試工程師,要組織需求評審會議,講解本次的開發功能和具體業務。
如下2步,需要畫圖、筆記、文字記錄、演算、推理、畫流程圖、畫架構圖
1、產品選型
明確產品界面、交互設計、功能設計、模塊區分,尋找相仿的產品上手體驗、操作,感知功能的使用和交互的體驗,目的是為了了解即將要做的產品有大致的模型,對產品模型了解的越細致越好
2、分離架構
對產品從各個維度分離架構,從功能,目錄,邏輯拆分,抽象,業務流的明確,數據流的流向,交互體驗的設計,從整體拆分成局部,針對每個局部再繼續拆分,從局部整合成系統,考慮整體和局部之間的相互影響關系
循環這2步,最終得到一個產品系統,應該對產品系統非常了解,從整體到局部,從需求到邏輯,端到端的數據流向,交互體驗設計,數據庫表結構設計
根據以上,給出開發工期(X/人/天)。
二、文檔編寫
按照系統的各個區域和子系統,編寫對應的文檔注釋,說明此子系統的功能、大致邏輯、含有的接口。
此外,流程應該按照先數據庫層面 –> 邏輯控制層面 –> 數據展示層面 –> 交互體驗層面 –> 界面設計層面的順序來規劃和思考。
同時考慮擴展性的問題,子系統是否可插拔,組件之間是否強依賴,必要的時候完成架構層面大的抽象。
文檔需要大概明確此子系統模塊的測試結果是什么,提前演算模塊的測試步驟和結果,后續細化的代碼必須要通過此測試要求。
三、創建/更改 數據庫
根據公司要求規范操作數據表,確定后郵件抄送相關開發。
相關SQL語句,需要Leader、DBA 審核,方可部署。
四、規定開發規范
規定代碼規范,必須要寫注釋
五、前后端分離開發
目前項目大部分都是使用 前后端分離的方式開發,一般由后端先給出接口文檔供前端進行開發。
??? 后端 程序邏輯代碼開發需要考慮:
復雜的邏輯可以自己先畫流程圖(ProcessOn)。遵循 PHP 代碼規范(PSR)。代碼注釋(再次提醒這點非常重要)。數據驗證(對前端提交的數據進行二次驗證,不能相信任何前端數據)。功能邏輯(考慮類庫封裝,代碼復用)。性能問題(是否需要用到緩存redis等)。安全問題(XSS、Sql注入)。日志問題(記錄相關日志)。錯誤報警(可供參考)。??? 前端需要考慮:
????
代碼整潔性(標簽元素對齊,DIV區塊注釋)。 界面適配(BootStrap 柵格系統)。 Js 相關驗證(不要寫在界面中)。 產品驗收(確認界面元素是否滿足使用習慣)。擼編碼
??? 編碼必須符合偽代碼的邏輯,編碼應該多次測試,慢步前進。
??? 注意編碼的版本控制。
??? 編碼應該盡量保持優美的邏輯和語法使用。
??? 編碼的變量命名應該特別注意。
??? 每一次的編碼應該最低按照一個函數單元,即最小編碼單位是一個函數,一旦決定編碼,就至少完成一個
??? 函數單元,或者取消本次函數的編寫。
??? 每個函數的完成,都必須要達到偽代碼對此函數的定義和解釋,注意高內聚和低耦合的問題。
??? 如果沒有高內聚,要適當拆分邏輯和代碼。
??? 如果沒有低耦合,要適當抽象代碼,合并其他同類函數。
六、功能自測
程序開發完畢后,需要自己先進行測試,走一遍全部流程。
需要考慮:
創建一些測試數據。考慮功能的臨界值。確保功能的可用性。七、代碼評審(Code Review)
代碼評審被公認為是一個很好的提高代碼質量的手段。
好處:
加速個人的成長,讓自己成為一個更優秀的程序員。
可以分享/學習到更多的知識。
保證代碼清晰,容易被別人理解。
提前發現一些缺陷(代碼檢查者通常比代碼編寫者更挑剔)。
我們可以使用一些開源系統:
Phabricator
ReviewNinja
Codacy
RhodeCode
如果有好的工具幫助我們進行codereview,往往會達到事半功倍的效果。
八、WIKI 更新
將自己開發的功能模塊,部署到WIKI上。
寫好需求方、開發者、使用者、是否用到API、相關邏輯、流程圖…
九、功能提測
通知測試人員,該需求可以提測啦~
根據公司要求,可以進行郵件提測,也可以JIRA管理。
以上,只是大概的講述了開發流程。
其實每一個步驟,都可以進行詳細分析,比如代碼注釋,評審規范等等。
?
總結
- 上一篇: 解决问题(九)——jsf+facelet
- 下一篇: 深圳中学因招聘上热搜:名校博士挤破头想进