У меня есть пример кода, который я часто вижу на веб-сайтах, который я хотел бы улучшить и был бы признателен за помощь. Часто я вижу 5-10 вложенных операторов if в методе page_load, которые нацелены на устранение недопустимого пользовательского ввода, но это выглядит уродливо, и его трудно читать и поддерживать.
Как бы вы порекомендовали очистить следующий пример кода? Главное, что я пытаюсь устранить - это вложенные операторы 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);
}
Как видите, это очень быстро запутывается! Есть ли какие-либо модели или практики, которым я должен следовать в этом случае?