# Bookshelf 项目总结

好了，在这个项目里面，你又学到了哪些知识呢？

* 首先，学会了 Pact 契约测试，API 先行。
* 其次，重温了 E2E 驱动拆分组件树，添加数据流；
* 第三，学会了 React、React Router、Redux 结合 Hook 的用法；

至此，前端 TDD 过程中有可能会遇到的各种障碍，我们都已经有了了解，并且知道了该如何应对。我们也知道了如何把代码放在该放的位置，用测试驱动出合理的组件树和状态管理架构。

可以说，一切都变得简单了起来，一切也都变得更容易测试了。

不过，千万注意，这些都不是重点！

重点是什么？重点是你的业务逻辑，重点是你的代码质量。我们有这么多的测试方法和测试准备，其实都是为了把主要精力，都放到业务逻辑和代码质量上，在测试的保护下持续重构，不断得改善你的代码。这些都是技能，不是靠学，而是靠练的。

所以，一句话总结重点：用 TDD 的方法，写出高质量的业务逻辑代码。


---

# 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/00-project-bookshelf/09-project-summary.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.
