也谈TDD

    最近在组织项目成员的能力提升,不可避免的就进入了TDD这个话题。对于TDD,已经成为很多公司员工入职的专业知识培训课程。网上关于TDD的各种文章和讨论也很多,但是感觉大家都是望文生义,都是先写测试用例,再写代码。
    可能有人会说TDD就是“Test Driven Development”,就是测试驱动开发。就是写测试用例,然后再写代码。我承认,书里是这么写的。大家也是这么理解,然后去实践的。实际效果如何呢,就我了解的情况,大家对这个都很纠结。很多都在说,我先写几行代码,然后再写用例为啥就不行了呢?难道真是缺少仪式感吗?
    那么我先说说,我最近的思考。TDD方式,实际上是关注点驱动开发,或者说规则驱动开发。我要实现一个关注点/规则,我就先一条用例来验证这个关注点/规则,然后去完成这个关注点/规则的代码。如果按照这个思路去思考,我每次实现一个关注点/规则,我先写用例后写代码,或者先写代码再写用例。每次都是围绕着一个关注点/规则,是否先后顺序就显得不那么重要了。关键是每次聚焦于一个关注点/规则,有测试用例保证这个关注点/规则的准确性。那么就可以放心的去实现下一个关注点/规则,并且保证整个功能的准确了。
    以上是我对于TDD的最新理解和思考。各位看过后是否也对TDD也有了新的理解了呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,014评论 25 709
  • 本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有...
    李浪溪_WaterLee阅读 76,156评论 16 168
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 11,681评论 5 100
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,090评论 7 278
  • JS独一无二之处在于任何东西都不是神圣不可侵犯的。 11.1 什么是你的 如果你的代码没有创建这些对象,不要修改他...
    __越过山丘__阅读 3,157评论 0 0