Функции с побочными эффектами влияют на поведение программ следующим образом: они затрудняют логику кода и тестирование, могут приводить к большому числу ошибок. 1
Некоторые примеры влияния побочных эффектов:
- Изменение состояния программы. 1 Функция с побочным эффектом, например вывод сообщения в консоль, изменяет состояние программы, но не возвращает никакого значения. 1
- Неопределённое поведение. 25 Если вызвать функцию с побочным эффектом дважды с одним и тем же набором значений входных аргументов, то в качестве результата могут быть возвращены разные значения. 25
- Сложность анализа кода. 4 Код с побочными эффектами сложно анализировать как человеком, так и машиной. 4 Также затрудняется рефакторинг, например удаление неиспользующегося кода. 4
- Невозможность повторного использования кода. 4 Иногда без внесения правок в исходники нельзя переиспользовать то или иное решение. 4
При этом без побочных эффектов невозможно написать ни одной программы. 1 Даже простая программа сложения двух чисел должна как-то демонстрировать результат, что автоматически приводит к побочным эффектам. 1