Aprenda a como evitar ifs aninhados e melhorar a legibilidade do código através de Guard clause / Early return.
Veja um exemplo com C# a seguir.
Sem Guard clause / Early return
void doSomething() {
if (isUserActive) {
if (isUserSubscribed) {
if (isPaidUser) {
showUserDashboard();
} else {
throw new Exception('Not a paid user');
}
} else {
throw new Exception('User not subscribed');
}
} else {
throw new Exception('User not active');
}
}
Com Guard clause / Early return
void doSomethingWithGuardClauses() {
if (!isUserActive) {
throw new Exception('User not active');
}
if (!isUserSubscribed) {
throw new Exception('User not subscribed');
}
if (!isPaidUser) {
throw new Exception('Not a paid user');
}
showUserDashboard();
}











