如何降低这种情况下的复杂性?
如何降低许多ifs的复杂性以检查相同的值,我正试图清理我的代码,并且在这种情况下我面临非常高的复杂性!
P.S.它不是如果...其他情况下它只是很多如果抛出异常!如何降低这种情况下的复杂性?
void function(String text){
if(text==null)
throw new exception();
if(text.isEmpty())
throw new Exception();
if(text=="test")
throw new Exception();
..... }
由于每个条件做同样的事情,你可以让他们是不同的。但是,由于我不知道您正在使用的语言,因此可以使用“C#中的isNullOrEmpty()”来简化null和isempty检查,另外,您应该使用字符串比较来检验test =“test”。
最好是不要抛出异常,除非必要。
谢谢你..我想我会用你的建议 –
如果文本为空或空白,则不必抛出异常,只需退出函数即可。抛出异常是代价高昂的。
if(test==null || text.isEmpty() || test="test" == 0)
{
throw new Exception();
}
你不能因为他们删除这些情况:我会在同一个if语句检查这些状况由“OR”隔开,并退出功能,如果真
是的,你是对的,但我正在使用jUnit写测试用例,所以我必须测试我的代码中的每一行。你对这种情况的建议是什么? –
我必须忽略检查null和空吗? –
您究竟如何体验高度复杂? –
你可以这样做:
if (string.IsNullOrEmpty(text))
{
throw new Exception();
}
或者,如果你只想要的代码执行时text
不为空或为空,你可以这样做:
if (!string.IsNullOrEmpty(text))
{
// do something
}
“代码清理是指编写代码的行为,以便从内存和文件系统中清除剩余的数据结构和其他不需要的材料。**它与重构代码不一样,它使源代码本身更易于理解,维护和修改。 *“[codereview.se]已经结束了 Will
I gu这是Java的。 C#有String.IsNullOrEmpty(s)。你可以做一个类似的功能 – pm100