语言无关 – 使用大量参数的缺点

我正在重新编写一些代码来进行功能更改,我遇到的情况是,我需要重载一个函数来容纳两种或三种类型的参数(但是对它们执行几乎相同的操作)或者使用一个函数很多参数.现在我要使用后一个选项,我只是想知道使用具有大量参数的函数的具体缺点(如果有的话)(当我说很多时,我的意思是15).

我正在寻找一般答案,没有特定的语言,所以我在这里没有提到这种语言,但仅仅是为了获取信息,我正在使用C#.

谢谢
仙人

最佳答案
许多参数的问题是,在您调用代码的地方,很难看出参数的含义:

// Uhh... what?
run(x, y, max_x, true, false, dx * 2, range_start, range_end, 0.01, true);

有些语言通过允许具有合理默认值的命名参数和可选参数来解决此问题.

另一种方法是将参数放在具有命名成员的参数对象中,然后将该单个对象作为参数传递给函数.这是一个名为Introduce Parameter Object的重构appraoach.

您还可能会发现将一组相关参数组合在一起成为一个类,将另一组参数组合到另一个类中非常有用.

转载注明原文:语言无关 – 使用大量参数的缺点 - 代码日志