Иммутабельный дизайн

Иммутабельность функции означает, что она не изменяет переданные ей аргументы.

Функции подобные array_map() имеют преимущество иммутабельности.

Если функция меняет переданные ей аргументы, это вносит хаотичность в процесс выполнения кода, способствует появлению багов, и препятствует созданию программ в функциональном стиле.

Редактировать на GitHub