# 改变项目开发方式

#### 传统编码方式 VS TDD 编码方式

**传统编码方式**

1. 需求分析，想不清楚小细节，管他呢，先开始写
2. 发现需求细节不明确，去跟业务人员或需求方确认
3. 确认好舌战几次终于写完所有逻辑
4. 运行起来开始搞单元测试，调试，调试。调试
5. 调试好久终于工作了
6. 转给测试，Tester 测出 bug，debug，舌战一番=》改。
7. 终于bug修复，代码可以完全工作了。
8. 一看代码，咿？ 是不是有些东西细节漏想了...........

**TDD 编码方式**

1. 明确当前要完成的功能。
2. 快速完成针对此功能的测试用例编写。
3. 测试代码编译不通过。
4. 编写对应的功能代码。
5. 测试通过。
6. 对代码进行重构，保证测试通过。
7. 循环完成所有的功能开发。

具体实施需要有一个针对我们现有的工作达到一个共同的标准流程以及测试技术流程。
