文章 "为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 6 部分"

 

新文章 为 Metatrader 5 开发 MQTT 客户端:TDD 方法 - 第 6 部分已发布:

本文是介绍我们针对 MQTT 5.0 协议的本地 MQL5 客户端的开发步骤的系列文章的第六部分。在本部分中,我们会讨论我们第一次重构中的主要变化,我们如何为我们的数据包构建类得出可行的蓝图,我们如何构建 PUBLISH 和 PUBACK 数据包,以及 PUBACK 原因代码背后的语义。

测试驱动的开发方法提供了许多好处,但有一个主要缺点。它的好处包括帮助我们编写定义明确的单元和命名良好的变量,这可以实现高测试覆盖率,更好地理解领域知识,避免过度工程,并集中精力于手头的任务。而主要的缺点是这种对手头任务的狭隘关注的直接后果,也就是说,为了避免被项目的整体复杂性吓到,作为开发人员,我们每次只解决最小的挑战,并且每次只解决一个挑战。如果天才是通过解决复杂性来消除复杂性的人,那么 TDD 开发人员就是故意忽略复杂性的人。 

是的,你明白了:就好比我们是戴着眼罩的马,就像那头跟着胡萝卜的驴子。

但复杂性并不会因为我们忽略它而消失,它就在那里,等待我们去面对它。由于我们忽略森林,只顾看树叶,我们就会不断欠下技术债务。您要知道,我们在不断留下多余的函数、重复的成员、无用的测试、不必要的类、不可读和无法访问的代码。而在开发过程中积累的技术债务可能会损害我们的生产力。这就是重构成为 TDD 实践不可或缺的一部分的原因。下图展示了 TDD 实践的典型步骤。

TDD 实践的典型步骤:红色、绿色、重构

图 01 - TDD 实践的典型步骤:红色、绿色、重构(来源:IBM 开发者)

作者:Jocimar Lopes