Что такое чистая функция?

Ответ

Чистая функция - функция без побочных эффектов, результат зависит только от аргументов:

// Чистая - всегда одинаковый результат для одинаковых входных данных
function add(int $a, int $b): int {
    return $a + $b;
}

// Нечистая - зависит от внешнего состояния
function getUser(int $id): User {
    return DB::find($id);  // побочный эффект: обращение к БД
}

// Нечистая - модифицирует внешнее состояние
function logMessage(string $msg): void {
    file_put_contents('log.txt', $msg); // побочный эффект
}

Преимущества: легко тестировать, кешировать (memoize), распараллеливать, понимать.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.