使用IF-ELSE存在很多重复分支代码的优化?
看这段示例
Func(arg)
{
var result = "结果: ";
var a = TryGetA(arg);
if(a != null)
{
result += a;
var b = TryGetB(a, arg);
if(b != null)
{
result += b;
var c = TryGetC(b, arg);
if(c != null)
return result + c;
else
return result + " 获取C失败!";
}
else
return result + " 获取B失败!";
}
else
return result + " 获取A失败!";
}
可以看到代码中存在大量的重复的else块
虽然可以反向if解开嵌套
Func(arg)
{
var result = "结果: ";
var a = TryGetA(arg);
if(a == null) return result + " 获取A失败!";
result += a;
var b = TryGetB(a, arg);
if(b == null) return result + " 获取B失败!";
result += b;
var c = TryGetC(b, arg);
if(c == null) return result + " 获取C失败!";
return result + c;
}
但是并没有什么改善
有什么更好的方法可以使这些重复的分支代码变得统一且易于维护?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论