# ShoppingCart 项目总结

## 撒花完结

恭喜你，你完成了第一个编程训练营。

## 无尽的钟摆

> 事实上，在过去十年内，或者说自 Web 技术被普遍应用以来，这样的振荡也发生了几次。一开始我们以为计算资源应该集中在服务器集群中，浏览器应该保持简单。但随后我们又开始在浏览器中引入 Applets。再后来我们又改了主意，发明了 Web2.0, 用 Ajax 和 Javascript 将很多计算过程挪回浏览器中。我们先是非常兴奋地将整个应用程序挪到浏览器去执行，后来又非常开心地采用 Node 技术将那些 Javascript 代码挪回服务器上执行。
>
> 一声叹息！ —— 《架构整洁之道》Robert C. Martin

## 你的感觉怎么样？

* **有没有找到 TDD 的节奏？**
* **有没有找到重构的感觉？**
* **编程的速度有没有提高？**

在《架构整洁之道》这本书中还提到了， Jason Gorman 采用 TDD 方法与未采用 TDD 方面编程在每个迭代周期上的耗时对比图，那么你呢？

![tdd speed comparison](https://2897586075-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LquCgGNObzQ8HY5Og1P%2F-M4r_fThnv-EpLceKixd%2F-M4rSeIJs-rWf1dPnmqv%2Ftdd-comparison.png?generation=1586849306884691\&alt=media)

> 上图展示的是 Jason Gorman 进行的一次为期 6 天的实验。在该实验中，Jaosn 每天都编写一段代码，功能是将一个整数转化为相应罗马数字的字符串。当事先定义好的一个测试集完全通过时，即认为当天工作完成。每天实验的时长不超过 30 分钟。第一天、第三天和第五天，Jason 在编写代码的过程中采用了业界知名的优质代码方法论：测试驱动开发（TDD），而其他三天他则直接从头开始编写代码。

我建议你可以写一篇博客，总结一下这三周的收获。

![Mars](https://2897586075-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LquCgGNObzQ8HY5Og1P%2F-Lr3MC4Y1H1Hj2ccXnql%2F-Lr3MCj5fWMb7AQi-CdW%2Fmars.jpg?generation=1570957484969294\&alt=media)

对了，在 [http://codingdojo.org/kata/](http://codingdojo.org/kata/) 这里你可以找到更多的练习题目（Kata），记住我们训练营的节奏，继续练习和反思，你的编程技能还会继续提升。
