💡 Java: вложенные if-else быстро превращают код в лабиринт
Когда вся логика уходит в глубокую вложенность, читать метод становится больно: основной сценарий спрятан где-то внизу, а перед ним несколько уровней проверок.
Проще использовать guard clauses - ранние проверки с выходом из метода.
Было:
- проверяем user
- внутри проверяем active
- внутри проверяем order
- внутри проверяем paid
- только потом выполняем основное действие
Стало:
- если user == null - сразу ошибка
- если user неактивен - сразу ошибка
- если order == null - сразу ошибка
- если order не оплачен - сразу ошибка
- основная логика остаётся плоской и читаемой
Такой код легче:
- читать
- тестировать
- ревьюить
- расширять без превращения метода в пирамиду из if
Guard clauses - маленький приём, который сильно улучшает чистоту кода.
Когда вся логика уходит в глубокую вложенность, читать метод становится больно: основной сценарий спрятан где-то внизу, а перед ним несколько уровней проверок.
Проще использовать guard clauses - ранние проверки с выходом из метода.
Было:
- проверяем user
- внутри проверяем active
- внутри проверяем order
- внутри проверяем paid
- только потом выполняем основное действие
Стало:
- если user == null - сразу ошибка
- если user неактивен - сразу ошибка
- если order == null - сразу ошибка
- если order не оплачен - сразу ошибка
- основная логика остаётся плоской и читаемой
Такой код легче:
- читать
- тестировать
- ревьюить
- расширять без превращения метода в пирамиду из if
Guard clauses - маленький приём, который сильно улучшает чистоту кода.