Что такое уровни функций в python

Читал книгу Чистая Архитектура и там увидел понятие

функция верхнего, нижнего и среднего уровня".

Да и в целом это много где употребляется, но я хз даже что это такое, нигде не нашел нормального объяснения. Что это такое?


Ответы (1 шт):

Автор решения: Алексей Р

Как я это понял.

Из "Роберт Мартин Чистая архитектура. Искусство разработки программного обеспечения"

Функциональная декомпозиция

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

Простой пример в графике введите сюда описание изображения

Простой пример в коде:

def high(x, y): # Функция верхнего уровня - может использовать функции нижележащих уровней, но саму функцию другие функции не используют
    return middle(x) * middle(y)


def middle(a): # Функция среднего уровня (таких уровней может быть много) - может использовать функции нижележащих уровней, но и саму функцию могут использовать функции вышележащих уровней
    return low(a + 2) / low(a - 2)


def low(b): # Функция низшего уровня - не использует других функций, но ей пользуются вышележащие уровни
    return b ** 2


print(high(5, 11))

P.S. Есть еще понятие функция высшего порядка, но это про другое.

→ Ссылка