单片方法 - 缺点

时间:2013-05-01 15:58:10

标签: methods api-design

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

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

这种设计有哪些缺点?

两个缺点是维护和文档,因为eval能够处理更多操作。

我在这里错过了哪些其他缺点?

更新: 我想弄清楚的是大型单片方法的负面影响,上面的例子只是假设另一个类似的例子就是像

这样的方法

float doSomething(int basedOn)

doSomething可以做一堆操作。

1 个答案:

答案 0 :(得分:1)

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

您是否也希望将英语缩减为10个字?当然不是......

向熟悉且广受欢迎的API学习,确保您的API易于学习,易于使用且难以滥用。

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