Описание тега idempotent

Функция называется идемпотентной, если ее можно вызывать несколько раз без изменения результата.

Идемпотентность - это свойство определенной функции в математике или информатике. В нем говорится, что функцию можно применять несколько раз, не изменяя результат однократного применения функции.

Примеры из математики

  • Умножение некоторого значения на 1 или на 0; они должны давать одинаковый результат независимо от того, сколько раз они применяются. Т.е.:

    (x * 1) == (1 * (1 * x)) == (1 * (1 * (1 * x))) == ...

  • абс (х):

    abs(-3) == 3, но abs(3) == 3тоже. по аналогииabs(abs(-3)) == abs(abs(abs(-3))) ...

Примеры из компьютерной науки

  • HTTP-контекст: операция GET или операция DELETE; каждый из них должен каждый раз давать одни и те же результаты. Встречный пример может быть пост-операции, что может привести к другому результату / состоянию каждый раз, когда он вызывается (вызов его несколько раз могут привести к дублированию даты, сохраненный, например).
  • Установка (логического) флага; итоговое состояние должно быть одинаковым, независимо от того, устанавливали вы его один или несколько раз.