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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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(); } |