Що означає термін посилальна прозорість?

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

Коли код посилально прозорий, його поведінка визначається виключно значеннями, з якими він працює, і немає прихованих сюрпризів. Наприклад, якщо у нас є вираз 2 + 3, його можна замінити на його значення 5 у будь-якій частині коду без будь-яких наслідків.

Контекст посилально прозорий, якщо будь-які два терміни, що стосуються однієї речі, можуть бути замінені в ньому salva veritate, тобто без зміни істинності чи хибності сказаного. Контекст посилально непрозорий, коли це не так.

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

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

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