Java 如何编写具有多个参数的高效表单方法
我有办法Java 如何编写具有多个参数的高效表单方法,java,cyclomatic-complexity,Java,Cyclomatic Complexity,我有办法 public List getListaDataTable(param1, param2, param3) 方法必须调用其他方法,因为参数为null。如果我用来做,如果。。。否则我将执行7个条件。你知道怎么解决这个问题吗 THX您可以在没有空参数的情况下附加函数 public List getListaDataTable(param1, param2, param3, param4, param5, param6, param7) { // Do function A
public List getListaDataTable(param1, param2, param3)
方法必须调用其他方法,因为参数为null。如果我用来做,如果。。。否则我将执行7个条件。你知道怎么解决这个问题吗
THX您可以在没有空参数的情况下附加函数
public List getListaDataTable(param1, param2, param3, param4, param5, param6, param7)
{
// Do function A
// Do function C
public List getListaDataTable(param1, param2, param3, param4, param7)
{
// Do function B
// Do function C
所有七个条件都相关吗?这些参数是相同类型的还是不同类型的?不同类型且所有条件都相关?您可以使用重载,但方法的调用方必须知道哪些参数不为null,才能调用正确的重载方法。将参数封装到请求对象中,在这个请求对象中添加7个布尔函数,代表您需要检查的7个条件。我认为这不是可伸缩的解决方案,第二件事,您仍然需要计算参数以找到哪个为空,找到您需要调用的方法我们没有足够的信息来定义它,参数没有类型,mathieu不使用数组,我认为类型不相同,
char[] code = {'0', '0', '0'};
if (param1 != null) code[0] = '1';
if (param2 != null) code[1] = '1';
if (param3 != null) code[2] = '1';
String codeString = String.copyValueOf(code);
switch (codeString) {
case "000":
//all are null
break;
case "100":
//param1 is not null
...
}