Я не знаю, звідки це походить, але це гарна порада і досить прямо зрозуміти.
Будь-яка грамотно розроблена програма буде розбита на різні частини, поєднана та складена різними способами. Чим складніше міркувати про те, що робить якась конкретна частина, тим важче буде переконатися, що ваша програма буде реагувати передбачувано.
Ізоляція частин, що створюють побічні ефекти, полегшує решту провести міркування, перевірку та налагодження. Зменшення кількості побічних ефектів у кожній частині, яка створює побічний ефект, полегшить роботу з цією частиною таким же чином.
Якщо розкласти його ще більше, повернене значення - це ефект. Побічні ефекти - це ефект. Функція повинна створювати лише 1 ефект (якщо це можливо), оскільки чим більша кількість входів і ефектів має функція, тим більше труднощів у міркуванні того, що вона насправді робить.