Раздел Императивное программирование» фокусируется на описании как работает программа. Возьмем пример приведенной ниже функции isPresent.

Конечно, он ищет число (поисковое слово) в массиве чисел и отвечает true или false.

Если вы внимательно наблюдаете, он фокусируется на том, как ищется номер.

Он повторяет каждое число одно за другим в массиве чисел и проверяет, выполняются ли критерии (часть HOW: for/if). В конце концов, он сообщает вам, присутствует ли число в массиве или нет.

Декларативное программирование, с другой стороны, выражает логику вычисления без описания его потока управления.

Давайте рассмотрим декларативный способ поиска числа в массиве.

В приведенном выше коде метод Any (представленный для типа данных массива) является методом расширения, предоставляемым LINQ.

Он определяет, содержит ли какой-либо элемент последовательности заданное число. Он не говорит вам, как он ищется. Эта часть скрыта за API: Любой.

Преимущество декларативного подхода по сравнению с императивным заключается в улучшенной читабельности кода.

Другой пример:

Эта функция «containsAllMen» сообщает вам, как реализован поиск, и поток управления, такой как условие if, определяет условие.

Теперь рассмотрим декларативный способ, он использует lodash's every для определения условия.

Первоначально опубликовано на https://beingcraftsman.com 1 февраля 2019 г.