2017-04-06 96 views
0

比方说,我有功能:验证少数方法参数的干净方法是什么?

void sayHello(String name, String surname); 

,我要确保这两个参数是有效的。现在我做这种方式:

if (name == null) 
    throw new Exception("Name is invalid"); 
if (surname == null) 
    throw new Exception("Surname is invalid"); 

当我与sayHello(null, null);调用它,我得到关于无效name唯一信息。

有一次被警告两次失误一个干净的方式?通过干净,我的意思是没有两个标志(或更多的情况下更多的参数)和许多if陈述?

这段代码片段是用Java编写的,但我想要一个通用的设计解决方案。

回答

0

我会建议建立与每个验证的错误信息,但抛出一次,即所有验证完成后。

如:

void someFunction(String param1, String param2, String param3) { 
    String error = ""; 

    if (invalid(param1)) { 
    error += "param1 is invalid"; 
    } 
    if (invalid(param2)) { 
    error += "param2 is invalid"; 
    } 
    if (invalid(param3)) { 
    error += "param3 is invalid"; 
    } 
    if (!error.equals("")) { 
    throw new Exception(error); 
    } 
}