测试驱动开发(TDD):打造优质代码的利器
1. 高耦合带来的问题
在软件开发中,类之间的高耦合是一个常见的问题。高耦合指的是一个类在使用之前需要与多个其他类进行连接,这使得该类难以独立使用。在使用这个类之前,我们需要确保那些支持类都已正确设置并正常工作。而且,如果不了解该类与其他类的众多交互,我们也无法完全理解这个类。
例如,在一个虚构的销售跟踪系统中, User
类与 Inventory
、 EmailService
、 SalesAppointment
和 SalesReport
这四个类相互耦合。与耦合较少的类相比,这个 User
类更难使用和测试。虽然这里的耦合程度不一定过高,但我们可以想象出其他能够降低耦合度的设计。关键在于,我们要时刻关注设计中类的耦合程度,一旦发现某个类与多个其他类有大量连接,就知道在理解、维护和测试这个类时会遇到问题。
2. 劣质代码对团队绩效的影响
当独自编码时,劣质代码可能只是会让我们的速度变慢,偶尔还会让人感到沮丧,但不会影响到其他人。然而,在开发团队中,劣质代码会严重拖慢整个团队的进度。
有研究表明,开发者在处理劣质代码时,最多会浪费 23% 的时间。而且在 25% 的情况下,开发者不得不进一步增加劣质代码的数量。这里提到的“技术债务”与劣质代码有所不同。技术债务是为了赶工期而发布的已知存在技术缺陷的代码,它会被跟踪和管理,并且计划在后续进行替换。而劣质代码虽然可能有相同的缺陷,但缺乏这种有意为之的改进意图。