如何降低许多ifs的复杂性来检查相同的值,我试图清理我的代码,我在这种情况下面临非常高的复杂性!
附:它不是如果......其他情况下它只是很多ifs抛出异常!
void function(String text){
if(text==null)
throw new exception();
if(text.isEmpty())
throw new Exception();
if(text=="test")
throw new Exception();
..... }
答案 0 :(得分:0)
如果text为null或为空,则不必抛出异常,只需退出函数即可。抛出异常代价高昂。我会检查这些条件用“OR”分隔,退出函数是否为真
答案 1 :(得分:0)
由于每个条件都做同样的事情,你可以在同一个if语句中使用它们:
public static void printResults(String userInput, double avgVal) {
System.out.println("The average of the numbers " + getUserInput() + " is " + calculateAvg(userInput));
}
您不能删除这些案例,因为它们不同。但是,由于我不知道您正在使用的语言,因此可以使用以下内容简化null和isempty检查:“C#中的isNullOrEmpty()”,此外,您应该对test =“test”使用字符串比较。
除非必要,否则最好不要抛出异常。
答案 2 :(得分:0)
你可以这样做:
if (string.IsNullOrEmpty(text))
{
throw new Exception();
}
或者,如果您只希望代码在text
不为空或空时执行,则可以执行以下操作:
if (!string.IsNullOrEmpty(text))
{
// do something
}