Skip to content

AglowTexas3/PR6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Рефакторинг order_processing.py

Найденные проблемы качества:

  • Функция process_checkout была слишком длинной и совмещала разбор запроса, валидацию и все вычисления.
  • В коде использовались магические числа и строки (ставки налогов, размеры скидок, пороги сумм, коды купонов).
  • Логику было сложно читать сверху вниз как последовательный сценарий.

Применённые рефакторинги:

  • Вынесены отдельные функции: разбор запроса, базовая валидация, валидация списка товаров, подсчёт subtotal, расчёт скидки, расчёт налога, формирование order_id.
  • Магические числа и строки заменены на именованные константы.
  • Основная функция process_checkout стала короче и теперь описывает шаги обработки заказа.

Что стало проще читать и менять:

  • Код читается как сценарий: сначала валидация, затем расчёты и формирование результата.
  • Логику скидок и налогов можно менять в одном месте, не трогая остальной код.
  • Проще добавлять новые купоны или изменять формулы расчёта без риска сломать другие части.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages