Нулевая функция

Тип подпрограммы в информатике

В информатике нулевая функция ( или нулевой оператор ) — это подпрограмма , которая оставляет состояние программы неизменным. Когда она является частью набора инструкций процессора , она называется NOP или NOOP (No OPeration).

Математически (компьютерная) функция является нулевой тогда и только тогда, когда ее выполнение оставляет состояние программы неизменным. То есть нулевая функция является функцией тождества , домен и кодомен которой являются пространством состояний программы, и для которой: ф {\displaystyle f} с {\displaystyle с} С {\displaystyle S}

ф ( с ) = с {\displaystyle f(s)=s} для всех элементов . с С {\displaystyle s\in S}

Менее строгие определения также могут встречаться. Например, функция может принимать один операнд, преобразовывать его в новый тип данных и возвращать результат. [1] Хотя такие использования имеют сильное визуальное сходство с функциями идентичности, они создают или изменяют двоичное значение данных и, таким образом, изменяют состояние программы. С точки зрения удобства сопровождения программного обеспечения лучше явно идентифицировать такие «незначительные» изменения состояния, поскольку вызов их пустыми функциями не дает будущим сопровождающим кода никаких сведений об их фактическом назначении.

Использует

Нулевые функции имеют несколько применений.

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

Нулевые функции, в частности разновидность NOP, также используются для предоставления задержек неопределенной длины в циклах ожидания . Это распространенная стратегия в выделенных контроллерах устройств , которые должны ждать внешнего ввода и не имеют других задач для выполнения во время ожидания. Такие циклы ожидания также используются в программных приложениях на более крупных многопроцессорных компьютерных системах. Однако для многопроцессорных систем лучшим подходом является использование функций операционной системы , которые позволяют другим процессам использовать ЦП во время периода ожидания.

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

Функция или метод null часто используется в качестве поведения по умолчанию для векторизуемой функции или переопределяемого метода в объектной среде.

Смотрите также

Ссылки

  1. ^ Пример функции преобразования типа , помеченной как «нулевая функция»: _NULLF — нулевая функция.
  • Алгоритм шифрования NULL и его использование с IPsec. IETF . Ноябрь 1998 г. doi : 10.17487/RFC2410 . RFC 2410.Делает юмористические заявления об алгоритме шифрования NULL.
Получено с "https://en.wikipedia.org/w/index.php?title=Null_function&oldid=1195581088"