> For the complete documentation index, see [llms.txt](https://ethan-lin.gitbook.io/refactoring/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ethan-lin.gitbook.io/refactoring/dan-wei-zhuan-huan/10-practice-again.md).

# 任务7：再撸一遍

最后的任务很简单，就是再练一次这道题。

在练习过程中，你需要利用“十六字心法”将你的重构拆解到**每写 1-2 行代码就能运行并通过测试**的粒度。希望从此以后，你能以分钟为时间单位开展所有的重构工作，并且保证系统永远处于可运行状态，成为一个更加专业的软件工程师。

![](/files/-Lr9SKFmn_5d1qx57lGI)

## 你的任务

* 重新做一下这道题，注意基本姿势：**频繁运行测试**。如果测试失败，需要回滚刚刚的更改
* 多练几遍，试试看能不能在时限内完成题目：Java 20 分钟；JavaScript 15 分钟

## 思考

* 相比课程一开始，感觉自己什么地方进步了？
* 能不能描述一下自己掌握的重构节奏感？
* 这道题有没有不同的重构次序？


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://ethan-lin.gitbook.io/refactoring/dan-wei-zhuan-huan/10-practice-again.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
