采纳测试驱动开发(TDD)的经验教训
介绍
采用测试驱动开发的好处
领养过程中学到的经验教训
结论
参考
介绍
测试驱动开发(TDD)一直是开发人员常用的术语,但对我来说,它却是一门深奥的艺术。
对于一位对你绝对忠诚的开发者来说,你和他之间存在着一种爱恨交织的关系,你不需要这种态度。
这与组织采用敏捷软件管理实践类似。
我参与了由新加坡初级开发者协会组织的开发者训练营,帮助指导开发者学习 Python,从而对它有了更深入的了解。
除了尝试教程或阅读《代码整洁之道》、《使用 PyTest 进行 Python 测试》和《测试驱动的 Python》等书籍之外。
采用测试驱动开发的好处
以下是我在开发者训练营帮忙期间获得的益处,这些益处帮助我养成了这种训练方法。
作为我在创业公司中个人开发工作流程的一部分,我目前正在……
我创立的这些组织有以下特点:
- 健全性检查——让你能够毫无顾虑地添加新功能、重构代码或进行升级。
- 减少调试时间——通过减少查找错误根本原因所需的时间。
- 增强人们对你代码的信心——这对于将你的代码库移交给其他开发人员大有帮助。
除了你们的文档之外,还有谁在维护它或将其集成到他们自己的系统中?
领养过程中学到的经验教训
它适用于各种编程语言
我会为你省去关于为什么x编程语言比y编程语言更好的争论。
尽管测试框架或库在每种编程语言中差异很大,但了解 TDD 却能带来很大的不同。
即使其他开发人员使用不同的编程语言,它也能帮助你将对编写测试用例和 TDD 的理解传递给他们。
这是我在一次开发者训练营课程中指导开发者时学到的东西。
加快开发进程
我相信学习TDD能帮助你更快地编写代码。
如果编写代码时没有测试用例,你会花费多少时间来修复 bug?
修复一个bug需要5分钟到3个小时吗?而且你可能还需要花时间手动逐段检查程序,才能找出问题所在并解决它。
通过编写测试用例,你可以合理地知道错误并非发生在你的代码中。
相反,您可以精确地找出哪些代码没有按照测试用例正常运行。
由于您之前引入的代码。
挑战你的固有观念,提升自我意识
在实践中,通过采用 TDD,你会更加清楚地认识到问题所在,并通过测试用例不断试错来解决问题。
通过编写测试用例,你可以在编写实际程序之前,立即获得针对你编写的代码的反馈,从而解决问题。
这样,你就可以在编写实际代码时,利用之前创建的许多测试用例来检查代码中的假设是否正确。
这意味着你需要不断重构和优化你的测试用例,以适应你心中设想的解决方案,从而解决你正在创建并要解决的问题。
结论
总的来说,学习TDD帮助我大大减少了调试代码的时间。
相反,它迫使我专注于为测试用例制定解决方案,从而获得理解,并挑战我的假设,以制定更好的解决方案。
我尝试用一种可行的方法来解决我遇到的问题,但失败了,而这种方法也体现在我的代码中。
这让我对TDD有了更深刻的理解,也对我的帮助很大。
同时指导未使用我所授语言的开发人员在新加坡初级开发人员的开发者训练营中解决代码练习题。
如果你喜欢我的文章,请订阅Max Adventurer 的新闻简报,每周获取我在Python、创业和Web 开发领域发现的精彩内容。
您也可以关注我,获取我关于Dev 的文章的最新更新。
本文最初发表于 Max 的博客“ Lesson In Adopting Test Driven Development (TDD)”,阅读时间:3 分钟
,图片来自 Unsplash 的 Louis Reed。
