onboard design做法
汇总提炼了别人的做法:
清楚需求和目标后,找一个安静的地方,给自己5-15分钟时间。
1.到打印机旁拿一摞白纸,准备好笔。
2.取3-4张,平铺在桌子上,然后对着几张白纸画图, 一张画类图,一张画流程图/序列图,一张写出来要做的需求(TODO List,或者说要考虑的问题)。类图,流程图/序列图两张图,一个TODO List列表,可以根据实际情况确定做3件事中的1-3件。稍微复杂的工作至少要有类图和流程图中的一个图。需求/TODOs/要考虑的问题列表在简单的需求情况下可以忽略。
画出设计初稿后,对着问题列表/要解决的问题,todo list,考虑是否解决了各种要解决的问题,是否会带来新的问题,有哪些风险,接口是否合理,模块是否方便测试。
过程中常常会发现最开始的设计不合理,就会扔掉最初的草稿,换几张纸重新再画。 流程图就是最后要写的代码驱动图,比如说是main函数,或者service的处理过程,或者一段逻辑从输入到最终输出的过程。
设计比较复杂的情况下,可以再加纸张,最后的效果是桌面铺满一堆白纸,脑中有完整的图画,胸中心有成足。
3.这时候到白板上把最终的设计画出来,把团队成员拉到白板前面一起花3-5分钟review和讨论设计。团队会有反馈,根据反馈再审视和调整设计。(如果是个人开发,这一步可以直接省略)
4.这时候留下终稿,你就可以写代码了,可以写得飞快,经过多次训练会越来越快。