[имя] спросил: остаётся ли функция чистой, если внутри неё есть условие if?

Да, условие if не нарушает чистоту. Важны детерминированный результат и отсутствие наблюдаемых побочных эффектов, а не форма управления потоком.

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

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

Да, условие if не нарушает чистоту. Важны детерминированный результат и отсутствие наблюдаемых побочных эффектов, а не форма управления потоком.

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

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

Да, условие if не нарушает чистоту. Важны детерминированный результат и отсутствие наблюдаемых побочных эффектов, а не форма управления потоком.

Функция x => x > 0 ? x : 0 остаётся чистой. If, читающий глобальную изменяемую переменную, или ветка, меняющая внешний объект, уже создаёт проблему. Проверять нужно источники данных и последствия выполнения каждой ветви.

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

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

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

Подробнее