它是一种标准的编码方式还是其他任何替代方案?我想了一下我写的代码.终于放弃了,并想与你们一起检查.
这是我的情景.
private String functionNameXYZ(String a,String b) {
//Logic goes here
}
private String functionNameXYZ(String a,String b,String c) {
//Same logic goes here , Nothing much difference because of String c
}
Run Code Online (Sandbox Code Playgroud)
所以我为了同样的目的而跳过两个函数,我创建了一个函数,如下所示.
private String functionNameXYZ(String a, String b,String... c){
return performlogic(a,b,(c.lenght!=0)? c[0]:null);
}
private String performlogic(String a,String b, String c) {
//logic , return "string"
}
Run Code Online (Sandbox Code Playgroud)
哪种是标准的编码方式?它是将逻辑分离为新方法而不是重复[第二种情况]还是以其他方式?如果你找到更好的方法,请建议吗?
如果你只有两个有效的选项有两个String参数和三个String参数,使用可变参数是一点点矫枉过正,更糟的是-这是令人困惑,因为这意味着,你也可以通过五年,十年或一个极大争论.相反,你可以做一些更简单的事情:
private String functionNameXYZ(String a, String b) {
functionNameXYZ(a, b, null);
}
private String functionNameXYZ(String a, String b, String c) {
// One place for the logic
}
Run Code Online (Sandbox Code Playgroud)