现在网上大部分都是主讲代码的,很少涉及一个项目的启动、规划、分工等。大部分教程也是想到哪做到哪,并没有一个明确的思路。
个人觉得,一个项目的开始并不应该急着上来就写代码,有一个清晰的思路,明确的业务关系等,也是非常重要的,毕竟磨刀不误砍柴功嘛~。本文先讲解一下我自己总结的一些流程上的东西,之后会拿一些实例来讲解。
- 开发流程
|
|
首先拿到一个项目,先理清楚基础的业务逻辑是非常重要的,在此基础上完成部分原型的设计(推荐使用Axure)。当然这个过程可能就会涉及到一部分后面实体的模型关系,要与客户交流并明确需求。
需求明确后,可以开始进行UI设计,当然数据库设计可以同步进行。
框架选择
当已经知道一个项目的大致业务需求及应用场景后,可以选定框架。本文及后续实例均会以laravel最新版为核心,js框架使用VUE.js,UI框架选用bootstrap。数据库使用Mysql。
- 数据库设计
对于程序员来说(有的公司是产品经理完成),我觉得这一步非常重要的,主要确定模型与模型、表与表之间的对应关系。例如:一对一、一对多、多对多等(个人习惯是画一个模型关系图)。这样在开发的时候就会思路很明确,不会处于“懵比”状态。
- 搭建脚手架
这一步是一个程序项目良好的开始,主要包括两点:
- 模块化:根据页面、业务、数据模型等怎么方便怎么分。
- 明确分工:模块化后拆分项目并分工。
这里再主要说明一下项目管理工具。我们团队采用的是文件使用SVN,代码使用Git管理的方式。
程序主要说三点:
- 阶段测试:按模块和按分工测试。
- 定期检查:团队间定期碰头交叉测试。
- 代码重构:抽象复用代码。
review
这是一个很总要但是又容易忽略或者省去的一部分。大部分代码重构和优化都会放在这里,团队开发一般由技术负责人review。