项目流程
项目沟通很重要,每日一沟通,有事说事,没事报平安。
需求分析
- 产品经理(PM):提出功能需求,展示原型图并说明为什么开发。
- 前端(FE):质疑需求是否合理,是否闭环,技术上是否可实现。是否需要其他支持。不要急于给排期。
- 是否需要帮助。
技术方案设计
- 求简,不过度设计。
- 产出文档。
- 组内评审。
- 发出会议结论。
开发
- 排期一般多四分之一时间。
- 考虑上一个流程的排期,不好判断时给出工作量(几天完成)。
- 写开发文档。
- 单元测试。
- Code Review,让技术更好的人帮你看下代码。
联调
- 和后端(RD)和客户端(CRD)进行技术联调。
- 让视觉设计师(UE)确定视觉效果。
- 让产品(PM)确定产品功能。
测试
- 提测发邮件,抄送项目组。
- 测试问题要详细记录。
- 有问题及时沟通,前端(FE)和测试(QA)天生信息不对称。
项目上线
- 如果有问题,及时回滚。先止损,再排查问题。
常见问题
产品(PM)加需求怎么办?
- 不能拒绝,走需求变更流程即可。
- 如果公司没有变更流程,发起项目组和leader的评审,重新评估排期。
项目设计
状态:数据结构设计(Vue-data)
- 用数据描述所有内容
- 数据要结构化,方便遍历、查找
- 数据要可扩展,已便增加新的功能
视图:组件结构和拆分
- 从功能上拆分层次
- 尽量让组件原子化
- 容器组件(只管理数据)和UI组件(只显示视图)
经典案例
todolist
- 原型图(一般由产品经理或视觉设计师提供)
- data数据设计
data: function () {
return {
list:[
{
id:1,
title:'标题',
completed:false
},
// ...
]
}
}
- 组件设计
<App> <!--只负责管理数据-->
<Input/> <!--只负责输入,将数组结果给父组件 -->
<List> <!--只负责显示列表,从父组件获取数据 -->
<ListItem/> <!--显示单条数据,删除,切换完成状态 -->
<ListItem/>
<ListItem/>
</List>
</App>