Leo*_*nid 12 java formatting code-formatting
通常,传递给函数的参数数量可能很大.考虑以下情况:
calculate(dataManager.getLastUpdate().getNumberOfChildren(),
dataManager.getLastUpdate().getNumberOfParents(),
dataManager.getLastUpdate().getNumberOfGrandChildren(),
long milliseconds,
int somethingelse)
Run Code Online (Sandbox Code Playgroud)
是否有一个指南Java可以提供一种方法来协调论点?在一行中拟合所有参数看起来不太漂亮.
Nat*_* W. 24
当我必须调用这样的方法时,我喜欢将参数放在他们自己的行上,如下所示:
final int result = calculate (
dataManager.getLastUpdate().getNumberOfChildren(),
dataManager.getLastUpdate().getNumberOfParents(),
dataManager.getLastUpdate().getNumberOfGrandChildren(),
milliseconds,
somethingelse
);
Run Code Online (Sandbox Code Playgroud)
显然这是个人偏好,但如果您在代码上与其他人合作,请尝试遵守已经提出的约定.
Viv*_*sse 16
根据Sun的Java编码约定,第4.1段"包装线":
当表达式不适合单行时,请根据以下一般原则将其分解:
- 逗号后打破.
- 在运营商之前休息.
- 更喜欢更高级别的休息时间到更低级别的休息时间.
- 将新行与前一行中相同级别的表达式的开头对齐.
- 如果上述规则导致令人困惑的代码或代码被压缩到右边距,则只需缩进8个空格.
该文档还包括方法调用的一些示例:
function(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
var = function1(longExpression1,
function2(longExpression2,
longExpression3));
Run Code Online (Sandbox Code Playgroud)
我会把我的小沙粒放在这里,很久以前,一位名叫Esteban的开发人员向我提出了这种格式,我以前认为它很难看了一段时间没有别的方法可以让我满意:
final int result = calculate (
dataManager.getLastUpdate().getNumberOfChildren()
, dataManager.getLastUpdate().getNumberOfParents()
, dataManager.getLastUpdate().getNumberOfGrandChildren()
, long milliseconds
, int somethingelse
);
Run Code Online (Sandbox Code Playgroud)
我发现这很清楚,很容易添加/删除新参数,清除参数#,每行只有一个参数,方法调用结束非常明确等等...
用于定义方法的类似模式也是如此
public int calculate(
final int numberOfChildren
, final int numberOfParents
, final int numberOfGrandChildren
, final long milliseconds
, final int somethingelse
) throws CalucalteExceptio {
// MyCode
}
Run Code Online (Sandbox Code Playgroud)
最后是嵌套调用的相同模式,StringBuilder典型的序列
StringBuilder sb = new StringBuilder()
.append('Children #').append(numberOfChildren).append(NL)
.append('Parents #').append(numberOfParents).append(NL)
.append('GrandChildren #').append(numberOfGrandChildren).append(NL)
;
Run Code Online (Sandbox Code Playgroud)
我发现的唯一问题是IDE格式化程序从不允许这种"开头的逗号"方法非常有趣,并且比我尝试过的任何其他方法都更具可读性.
希望它增添一些有趣的东西
| 归档时间: |
|
| 查看次数: |
15618 次 |
| 最近记录: |