测试驱动开发(TDD)基础与问题解决技巧
1. 纪律的重要性
测试驱动开发(TDD)是一种简单的技术,只需遵循几个步骤。然而在实践中,这些步骤并不容易遵循,因为程序员需要有很强的纪律性。为了充分获得 TDD 的好处,程序员应该严格遵循每一个步骤。例如,TDD 的第二步要求程序员观察新测试失败,第五步要求重构代码。但有时程序员并不会完全按照肯特·贝克(Kent Beck)对 TDD 的描述来执行所有步骤。
2. 克服困难
TDD 不能替代思考,开发者需要自己做出设计决策,它也不能替代设计技能。要更轻松地学习 TDD,可以先从一个简单的单类示例(如实现一个栈)开始,了解红 - 绿 - 重构过程的基础知识,然后停下来思考这个过程是如何运作的。
3. 解决问题的技能
软件开发人员的工作就是解决问题。在 TDD 环境中,即使你知道如何编写测试,但如果缺乏解决问题的技能,也无法为给定问题完成编码解决方案。
4. 解决问题的四个阶段
1945 年,乔治·波利亚(George Polya)在《怎样解题:数学思维的新方法》一书中讨论了数学领域的问题解决过程,这个过程同样适用于软件开发,具体分为以下四个阶段:
1. 理解问题 :阅读问题陈述,绘制图形或表格,引入合适的符号,做任何有助于理解问题的事情,这也被称为问题域分析。
2. 制定计划 :明确解决问题需要做什么,给出一个总体大纲,构思解决方案的思路,即解决方案域分析。
3. 执行计划 :先编写测试,计划应包含按正确
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



