测试驱动开发 (TDD)
接触到了TDD这种开发方法, 写简单一篇笔记学习一下.
平常自己开发的过程中喜欢一股脑把思路全写上, 这样后期出现bug的几率很高, 而且代码复杂后不知道从何. 可以尝试使用这种方法
1 TDD是什么
1.1 TDD来源
TDD的全称是Test-Driven Development. 百度百科上的翻译是测试驱动开发, 私认为中文命名挑不出毛病, 但是就不如英文更容易懂. 不理解. 这其实大概意思被测试思维所驱动而进行的程序开发. 很多编程书看英文版和中文译本还是有差别.
TDD是在1999年在"Extreme Programming"这本书中最先提出的. 其中最中心思想就是在编写实际代码前先编写测试代码. 这样可以更简单而且更快编写代码. 具体细节可以读Kent Beck大佬的 "Test Driven Development:By Example", 里面有对TDD更详细的解读
1.2 TDD核心理念
1) 先编写测试代码
2) 在一个独立的循环中开发
3) 编写代码时尽量简洁明了
4) 无论在哪里当发现有机会的时候对代码进行重操作/提升
5) 除非(程序)通过所有的测试, 否则不能发放
6) 在当前构造需求下不放任何有其他功能/目的的代码(就算是将来有需求的也不可以)
1.3 TDD优点
1) 降低开发者负担
把一个大问题细分为很多小问题解决. 化繁为简
2) 保护当前项目
阻止未经过测试的代码改变当前项目, 造成后果
3) 提前明了需求
先动脑再动手! 如同写作先写框架, 开发的时候也会更清晰明了
4) 有错误早发现
可以把错误扼杀在摇篮里, 否则滚雪球越滚越大