相关疑难解决方法(0)

多态或条件促进更好的设计吗?

我最近在谷歌测试博客中偶然发现了关于编写更多可测试代码的指南.在此之前,我与作者达成了一致意见:

优先于条件的多态性:如果你看到一个switch语句,你应该考虑多态性.如果您在班级的许多地方看到相同的if条件,您应该再次考虑多态性.多态性会将您的复杂类分解为几个较小的简单类,这些类可以清楚地定义代码的哪些部分相关并一起执行.这有助于测试,因为更简单/更小的类更容易测试.

我根本无法绕过那个.我可以理解使用多态而不是RTTI(或DIY-RTTI,视情况而定),但这看起来像是一个广泛的陈述,我无法想象它实际上在生产代码中被有效使用.在我看来,更容易为具有switch语句的方法添加其他测试用例,而不是将代码分解为几十个单独的类.

此外,我的印象是多态可能导致各种其他微妙的错误和设计问题,所以我很想知道这里的权衡是否值得.有人可以向我解释这个测试指南的确切含义吗?

c++ oop polymorphism tdd

38
推荐指数
5
解决办法
1万
查看次数

标签 统计

c++ ×1

oop ×1

polymorphism ×1

tdd ×1