Що спільного між Pure Function та приготуванням кави в автоматі?

Сергій Єрьомін

(Ага, я пам’ятаю, що вам дуже сподобалася аналогія з Макдональдсом)

Отже, чиста функція (Pure Function) — це функція, яка завжди дає один і той самий результат для тих самих вхідних даних і не має побічних ефектів. Це означає, що чиста функція відповідає двом основним вимогам:

  • Детермінізм;
  • Відсутність побічних ефектів.

Детермінізм, побічні ефекти (Side Effects)? А що воно взагалі таке?

Детермінізм — це коли ти викликаєш функцію з однаковими аргументами, а вона завжди повертає один і той самий результат.

Побічні ефекти — це дії, які відбуваються під час виконання функції і впливають на стан поза цією функцією, або залежать від зовнішнього стану: тобто, зміна глобальних змінних, модифікація об’єктів, які передаються у функцію, робота з файлами, мережеві запити тощо.

Дочитали? Це добре. Продовжуємо далі!

А тепер уявіть два способи приготування кави: за допомогою кавомашини і вручну.

Кава через автомат (Чиста функція):

  • Та сама кава, якщо нажати на ту саму кнопку. Той самий смак і порція того самого розміру;
  • Сьогодні, вчора, завтра — все без змін;
  • Автомат не змінює нічого навколо себе, на кухні чисто. Щось побурухтіло всередині і все.

Кава вручну (Не чиста функція):

  • Оооо! Інша справа! Ви можете поспішати, або ні. Можете робити каву зранку, або вдень. Вчора дві ложки цукру додали, а сьогодні п’єте без — тут залежить від вашого настрою;
  • Тобто, два рази поспіль ви можете отримати різну каву, навіть якщо використовуєте ті самі інгредієнти;
  • Побічні ефекти? Під час приготування, ви можете залишити неприбраним посуд на кухні, використовувати різні інструменти і змінювати їхній стан.

Напишіть, будь ласка, чи сподобалися вам мої приклади з кавою!

І тримайте корисну статтю на тему.

Цей текст з особистого блогу, опублікований з дозволу автора.

Останні статті

Користувачі Windows зможуть працювати з файлами без необхідності їх відкривати

Microsoft тестує нові функції Провідника на базі штучного інтелекту, які дозволяють користувачам Windows 11 працювати…

09.09.2025

Nvidia відкрила для українських студентів безкоштовний доступ до 11 курсів про штучний інтелект

Компанія Nvidia разом з Київським IT-кластером запускає для українських університетів безплатний доступ до платформи Deep…

09.09.2025

Google додає в Gemini підтримку аудіофайлів, завантаження папок з кодом і репозиторіїв

Компанія Google додала в Gemini можливість завантаження аудіофайлів на всіх платформах: Android, iOS та у…

09.09.2025

Microsoft спрощує написання формул в Excel завдяки автодоповненню Copilot

Microsoft додає нову функцію Copilot в Excel, яка автоматично доповнює формули під час введення. Автодоповнення…

09.09.2025

«Наймасштабніша JS-атака в історії»: хакери зламали обліковий запис NPM

Компанія Aikido Security виявила наймасштабнішу атаку на екосистему JavaScript. Хакери зламали обліковий запис одного з…

09.09.2025

Середній вік співробітників IT-компаній зріс на 5 років, кількість зумерів скоротилась вдвічі

Співробітників IT-компаній віком від 21 до 25 років за два з половиною роки поменшало вдвічі,…

08.09.2025