一个项目的初始及开发流程
现在网上大部分都是主讲代码的,很少涉及一个项目的启动、规划、分工等。大部分教程也是想到哪做到哪,并没有一个明确的思路。个人觉得,一个项目的开始并不应该急着上来就干代码,有一个清晰的思路,明确的业务关系等,也是非常重要的,毕竟磨刀不误砍柴功嘛~。本文先讲解一下我自己总结的一些流程上的东西,之后会拿一些实例来讲解。(楼主是一个创业型团队,所有事情都是靠自己摸索,可能许多东西在大神们看来很low,但是自己摸索还是很有感觉的~)
开发流程
- 业务原型图及设计
- 根据业务需求完成原型图
- 业务确认,设计图
- 框架选择
- 后端框架 Laravel5.3+
- js框架 Vue2.x
- UI框架 bootstrap
- 数据库设计
- 梳理模型关系
- 根据业务逻辑设计表结构
- 填充模拟数据(可在构建代码的过程同步进行)
- 搭建脚手架
- 项目模块化
- 搭建项目基础(明确项目目录及结构等)
- 分工
- 程序
- 根据模块和分工完成程序
- 阶段测试
- review
- 优化
- 测试
业务原型图及设计
首先拿到一个项目,先理清楚基础的业务逻辑是非常重要的,在此基础上完成部分原型的设计(推荐使用Axure),当然这个过程可能就会涉及到一部分的模型关系,之后与客户确认并明确要求。
需求明确后,可以开始进行设计,当然数据库设计可以同步进行。
框架选择
当已经知道一个项目的大致业务需求及应用场景后,可以选定框架。本文及后续实例均会以laravel5.3为核心,js框架使用VUE.js,UI框架选用bootstrap。数据库使用Mysql。
数据库设计
对于程序员来说(有的公司是产品经理完成),我觉得这一步非常重要的,主要确定模型与模型、表与表之间的对应关系。例如:一对一、一对多、多对多等(个人习惯是画一个模型关系图)。这样在开发的时候就会思路很明确,不会处于“懵比”状态。
搭建脚手架
这一步是一个程序项目良好的开始,主要包括两点:
- 模块化:根据页面、业务、数据模型等怎么方便怎么分。
- 明确分工:模块化后拆分项目并分工。
这里再主要说明一下项目管理工具。我们团队采用的是文件使用SVN,代码使用Git管理的方式。之后的文章会具体项目具体分析。
程序
主要说三点:
- 阶段测试:按模块和按分工测试。
- 定期检查:团队间定期碰头交叉测试。
- 代码重构:抽象复用代码。
review
这是一个很总要但是又容易忽略或者省区的一部分。大部分代码重构和优化都会放在这里。
后续我会根据实际场景做一个系列教程。主要还是讲解3、4、5这三步。希望大家多多支持。
当然大神们请直接绕过吧~献丑了。
经验交流可以加我微信
本作品采用《CC 协议》,转载必须注明作者和本文链接
写的很好! 此类文章确实较少,支持!
写的不错,加油:)
期待下一篇文章:kissing_heart:
好文。期待下一篇
单元测试也很有必要吧。毕竟我们用的是laravel。