Я не знаю, откуда это взялось, но это хороший совет и довольно простой для понимания.
Любая разумно разработанная программа будет разбита на различные части, объединены и составлены различными способами. Чем сложнее рассуждать о том, что делает какая-то конкретная часть, тем сложнее будет убедиться, что ваша программа будет реагировать предсказуемым образом.
Изоляция частей, которые вызывают побочные эффекты, облегчает анализ, тестирование и отладку остальных. Уменьшение количества побочных эффектов в каждой части, которая генерирует побочный эффект, облегчит работу с этой частью таким же образом.
Если вы разложите его еще дальше, возвращаемое значение будет эффектом. Побочные эффекты - это эффект. Функция должна производить только 1 эффект (если это возможно), потому что чем больше входов и эффектов имеет функция, тем сложнее рассуждать о том, что она на самом деле делает.