0

假设我正在创建一个 MATH 类并且需要提供一种方法来处理两个数字。[

我没有为每个可能的操作提供具有方法的传统机制,而是提供了一个方法 eval:float eval(ArgObj); whereArgObj是一个可以容纳两个数字和一个运算符的对象。因此,现在使用一种方法我可以执行多项操作。

这种设计有什么缺点?

两个特定的缺点是维护和文档,因为 eval 获得了处理更多操作的能力。

我在这里错过的其他缺点是什么?

更新:我想弄清楚的是大型整体方法的负面影响,上面的例子只是假设另一个类似的例子是这样的方法

float doSomething(int basedOn)

其中 doSomething 可以做一堆操作。

4

1 回答 1

1

阅读代码应该是一种愉快的体验,知道方法的作用应该是显而易见的。

您还想将英语减少到 10 个单词吗?当然不是...

向使用良好且深受喜爱的 API 学习,并确保您的 API 易于学习、易于使用且难以误用。

我建议doSomething不要接近。当您需要不同的操作时会发生什么,您是否调用新方法doSomething2?希望你不认为这是一个可行的选择......

于 2013-05-01T16:17:44.943 回答