火星车 Tasking 任务分解
MarsRover 火星漫游者 任务分解练习
教学目的
反复练习如何用测试框定需求范围
反复练习如何拆解合理的任务列表
如何任务分解
请回忆一下任务分解的方法
以上是任务分解时需要注意的数据结构,我们推荐的方式是画图,手边准备纸笔即可。
火星车操作任务分解
从输入和输出的角度,我们可以将这个任务 以上述形式描述,如果画图,则如下图:
以终为始进行分析
我们先回顾一下任务需要的输出:
从界面 上来看是这个样子:
最终我们需要输出:火星车到坐标和方向。
以此,我们可以推导出最直接的分解步骤:
进一步细化
对于多次运动,我们进行更进一步的分解:
初步完成任务分解
这样我们初步完成了任务分解,为什么是初步呢,我们需要进一步明确每一个步骤的输入和输出。
误区 忽略数据建模
绝大部分的前端同学,任务分解到这一步就算完成了,但是在实施的时候,很容易遇到各种问题,因为容易陷入误区:忽略数据建模。这里我们从过年图中可以看出,有两个概念是反复出现的:指令,位置和朝向。
原始的输入输出数据,只是用字符串1 3 N
来表示。很显然这不是一种代码易读的结构化数据,所以对核心数据进行建模,尤其是关键的输入输出数据建模,是非常重要的;这个步骤,对于 JAVA 开发来说,是必需的,但是对很多 Javascript 开发者来说,是一个需要练习的过程。
输入输出建模
增加输入输出处理
最终我们形成了完整的包含输入输出处理的任务分解方案
最后更新于