繁体   English   中英

java 方法应具有的标准参数数量是多少?

[英]what is the standard number of parameters that a java method should have?

我正在编写一个程序来检查方法的参数数量并打印出警告消息(它是一个代码气味程序)如果超过标准,问题是我不知道商定的数字是多少. 我环顾四周,没有任何运气。 谁能告诉我或至少指出我正确的方向?

您可以在 Java 中指定的参数数量没有标准限制,但是根据“代码完成”见这篇文章),您应该将参数数量限制在 7 个左右,再多的话会对代码的可读性。

在 Java 中,您不能为一个方法定义超过 255 个参数。 这是限制。

为了和建议,鲍勃叔叔说 -Clean Code- 最大参数计数应该是三个。

  • 参数过多,参数 xxxxxxx 超出了符合方法参数条件的 255 个字的限制

这确实与 Java 具体无关。 你绝对应该让它可配置,因为对此有完全不同的看法。

在“Clean Code”中,Robert Martin 认为方法参数的理想数量是 0,1 是可以的,2 需要强有力的理由,3 或更多需要教皇的特殊豁免。

大多数人会认为这种方式过于严格,并且不会在具有 3 个参数的方法上闪烁两次。 您可能会普遍认为 6 个参数太多了。

Checkstyle是检查 java 编码标准的流行工具。

这是ParameterNumber规则的链接: ParameterNumber

确实没有标准数量的参数。

我的诚实意见是对参数的数量没有明确的限制。 我个人的偏好是不要超过 3 个或至少 4 个,因为这会影响可读性和思维导图(很难记住超过 4 个参数)。 你也可以快速浏览一下鲍勃叔叔的清洁代码和史蒂夫麦康奈尔的代码完成

StackOverflow 中有一个类似的线程,请参阅When a method has too many parameters?

您可以在 java 中的 function 中使用任意数量的 arguments。 There is no standard limit to have this number of argument in function in java.[As per I know] IMO as a practice you should not have more than 4 arguments for a function but this is not the standard you can have any number of arguments .

没有硬性限制,但我想说超过五个是没有关键字 arguments 的语言(例如 Java)的代码异味。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM