gpt4 book ai didi

if-statement - 如何整理过多的 if 语句以提高可读性

转载 作者:行者123 更新时间:2023-12-04 04:41:25 26 4
gpt4 key购买 nike

我有一个我经常在网站上看到的代码示例,我想改进这些代码并希望得到一些帮助。我经常在 page_load 方法中看到 5-10 个嵌套的 if 语句,旨在消除无效的用户输入,但这看起来很丑陋,难以阅读和维护。

您建议如何清理以下代码示例?我试图消除的主要内容是嵌套的 if 语句。

string userid = Request.QueryString["userid"];

if (userid != ""){
user = new user(userid);

if (user != null){
if (user.hasAccess){
//etc.
}
else{
denyAccess(INVALID_ACCESS);
}
}
else{
denyAccess(INVALID_USER);
}
}
else{
denyAccess(INVALID_PARAMETER);
}

如您所见,这很快就会变得非常困惑!在这种情况下,我应该遵循任何模式或做法吗?

最佳答案

通过使用 Guard Clauses先生

string userid = Reuest.QueryString["userid"];

if(userid==null)
return denyAccess(INVALID_PARAMETER);

user = new user(userid);
if(user==null)
return denyAccess(INVALID_USER);

if (!user.hasAccess)
return denyAccess(INVALID_ACCESS);

//do stuff

附注。使用返回或抛出错误

关于if-statement - 如何整理过多的 if 语句以提高可读性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1649248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com