Как упростить функцию с вложенными проверками

Используйте ранние возвраты для отрицательных условий и оставьте основной сценарий в конце. Сохраните порядок проверок и точные условия каждой ошибки.

Короткий ответ

Что ответить на собеседовании

Используйте ранние возвраты для отрицательных условий и оставьте основной сценарий в конце. Сохраните порядок проверок и точные условия каждой ошибки.

Подробный разбор

Ответ с пояснениями

Условие

Функция проверяет пользователя, затем активность, затем разрешение, после чего выполняет действие. На каждой неудаче возвращает свой код ошибки. Как сократить вложенность, сохранив поведение?

Ответ

Используйте ранние возвраты для отрицательных условий и оставьте основной сценарий в конце. Сохраните порядок проверок и точные условия каждой ошибки.

Пример структуры: if (!user) return 'not_found'; if (!user.active) return 'inactive'; if (!canRun(user)) return 'forbidden'; return run(user);. Не объединяйте проверки, если меняется приоритет ошибок или вызов функции имеет побочный эффект. Сначала зафиксируйте текущие ветки небольшими примерами, затем меняйте структуру.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее