現(xiàn)在網(wǎng)上大部分都是主講代碼的,很少涉及一個項目的啟動、規(guī)劃、分工等。大部分教程也是想到哪做到哪,并沒有一個明確的思路。
個人覺得,一個項目的開始并不應(yīng)該急著上來就寫代碼,有一個清晰的思路,明確的業(yè)務(wù)關(guān)系等,也是非常重要的,畢竟磨刀不誤砍柴功嘛~。本文先講解一下我自己總結(jié)的一些流程上的東西,之后會拿一些實例來講解。
開發(fā)流程
業(yè)務(wù)原型圖及設(shè)計
業(yè)務(wù)確認,設(shè)計圖
前后端框架選擇
- 后端框架 Laravel LTS
- js框架 Vue2.x
- UI框架 bootstrap
數(shù)據(jù)庫設(shè)計
梳理模型關(guān)系
根據(jù)業(yè)務(wù)邏輯設(shè)計表結(jié)構(gòu)
填充模擬數(shù)據(jù)(可在構(gòu)建代碼的過程同步進行)
搭建腳手架
- 項目模塊化
- 搭建項目基礎(chǔ)(明確項目目錄及結(jié)構(gòu)等)
- 團隊成員分工
根據(jù)模塊和分工完成程序
- 階段測試
- 定期檢查
- 代碼重構(gòu)
Review
- 優(yōu)化
- 測試
首先拿到一個項目,先理清楚基礎(chǔ)的業(yè)務(wù)邏輯是非常重要的,在此基礎(chǔ)上完成部分原型的設(shè)計(推薦使用Axure)。當(dāng)然這個過程可能就會涉及到一部分后面實體的模型關(guān)系,要與客戶交流并明確需求。
需求明確后,可以開始進行UI設(shè)計,當(dāng)然數(shù)據(jù)庫設(shè)計可以同步進行。
框架選擇
當(dāng)已經(jīng)知道一個項目的大致業(yè)務(wù)需求及應(yīng)用場景后,可以選定框架。本文及后續(xù)實例均會以laravel最新版為核心,js框架使用VUE.js,UI框架選用bootstrap。數(shù)據(jù)庫使用Mysql。
- 數(shù)據(jù)庫設(shè)計
對于程序員來說(有的公司是產(chǎn)品經(jīng)理完成),我覺得這一步非常重要的,主要確定模型與模型、表與表之間的對應(yīng)關(guān)系。例如:一對一、一對多、多對多等(個人習(xí)慣是畫一個模型關(guān)系圖)。這樣在開發(fā)的時候就會思路很明確,不會處于“懵比”狀態(tài)。
- 搭建腳手架
這一步是一個程序項目良好的開始,主要包括兩點:
- 模塊化:根據(jù)頁面、業(yè)務(wù)、數(shù)據(jù)模型等怎么方便怎么分。
- 明確分工:模塊化后拆分項目并分工。
這里再主要說明一下項目管理工具。我們團隊采用的是文件使用SVN,代碼使用Git管理的方式。
-
程序主要說三點:
- 階段測試:按模塊和按分工測試。
- 定期檢查:團隊間定期碰頭交叉測試。
- 代碼重構(gòu):抽象復(fù)用代碼。
review
這是一個很總要但是又容易忽略或者省去的一部分。大部分代碼重構(gòu)和優(yōu)化都會放在這里,團隊開發(fā)一般由技術(shù)負責(zé)人review。