# 第二题：MarsRover 火星车

## 副本简介

火星漫步者在某块区域中根据指令进行移动，然后采集相应位置的火星数据。通过学习和应用 Tasking 的方法论，帮助学员逐渐养成正确的 Tasking 任务分解思路，从而可以更快胜任处理复杂工作的能力。

![MarsRover UI](/files/-M26PPX5bygmK8WIo6LZ)

## 副本挑战

1. 掌握 Tasking 方法论
2. 完成 Tasking 任务分解练习
3. 至少练习 3 遍 MarsRover 题目
4. 能在 20 分钟内完成 MarsRover 题目

## 时长限制

**8 小时**

## 副本奖励

* 任务分解：Tasking 如何转化为 TestCase
* Tasking 技巧和方法、遍历任务输入/输出的边界
* 开始接触重构，坏味道 & IDE 操作手法及快捷键
* 使用“拆分阶段”手法重构，同时体现数据与 UI 分离
* 引出命令者模式，再引出 Redux 与 CQRS 架构

## BOSS 掉落

1. IDE 的重构快捷键操作
2. 用 Jest 编写单元测试
3. 编写失败的测试，驱动出产品代码
4. 充分利用代码生成 (live template)
5. 刻意练习的节奏


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jimmylv.gitbook.io/tdd-frontend/coding/01-marsrover.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
