格式化在 Java 中传递给函数的多个参数

2022-09-04 23:45:01

通常,传递给函数的参数数可能很大。请考虑以下情况:

calculate(dataManager.getLastUpdate().getNumberOfChildren(),
          dataManager.getLastUpdate().getNumberOfParents(),
          dataManager.getLastUpdate().getNumberOfGrandChildren(),
          long milliseconds,
          int somethingelse)

有没有一个指导方针,提供了一种对齐论点的方法?将所有参数放在一行中看起来并不漂亮。Java


答案 1

当我必须调用这样的方法时,我喜欢将参数放在自己的行上,如下所示:

final int result = calculate (
    dataManager.getLastUpdate().getNumberOfChildren(),
    dataManager.getLastUpdate().getNumberOfParents(),
    dataManager.getLastUpdate().getNumberOfGrandChildren(),
    milliseconds,
    somethingelse
);

显然,这是个人偏好,但是如果您正在与他人一起编写代码,请尝试遵守已经制定的约定。


答案 2

根据 Sun 的 Java 编码约定,“换行”一节:

当表达式不适合单行时,请根据以下一般原则将其中断:

  • 在逗号后断开。
  • 在操作员之前休息。
  • 优先选择较高级别的中断,而不是较低级别的中断。
  • 将新行与表达式的开头对齐,该开头位于上一行的同一级别。
  • 如果上述规则导致代码混乱或代码与右边距挤压,只需缩进 8 个空格即可。

本文档还包括一些方法调用的示例:

function(longExpression1, longExpression2, longExpression3,
         longExpression4, longExpression5);

var = function1(longExpression1,
                function2(longExpression2,
                          longExpression3));

推荐