Код IT
← Каталог

Приёмы написания кода — Декомпозиция

Фрагмент из «Приёмы написания кода»: Декомпозиция.

Plain text main.pseudo
функция обработать_заказ(запрос):
    пользователь = найти_пользователя(запрос.идентификатор_пользователя)
    если не пользователь.активен:
        вызвать ошибку("Пользователь неактивен")

    корзина = получить_корзину(пользователь)
    если корзина.пуста:
        вызвать ошибку("Корзина пуста")

    сумма = рассчитать_стоимость(корзина)
    подтвердить_наличие(корзина)
    счёт = сформировать_счёт(пользователь, корзина, сумма)
    отправить_уведомление(пользователь, счёт)

    вернуть счёт
функция обработать_заказ(запрос):
    пользователь = найти_пользователя(запрос.идентификатор_пользователя)
    если не пользователь.активен:
        вызвать ошибку("Пользователь неактивен")

    корзина = получить_корзину(пользователь)
    если корзина.пуста:
        вызвать ошибку("Корзина пуста")

    сумма = рассчитать_стоимость(корзина)
    подтвердить_наличие(корзина)
    счёт = сформировать_счёт(пользователь, корзина, сумма)
    отправить_уведомление(пользователь, счёт)

    вернуть счёт