Улучшение структуры действий #
Презентация #
Презентацию по теме лекции можно открыть по ссылке.
Видео-запись: Rutube
Документация #
- Глава 5 книги Grokking Simplicity, Improving the design of actions.
Задания #
- В функции
gets_free_shipping(total, item_price)заменить сигнатуру наgets_free_shipping(cart), используяcalc_total(cart). Обновить все вызовы вupdate_shipping_icons. - Добавить параметр
cartв функциюupdate_shipping_icons(cart), убрав обращение к глобальной переменнойshopping_cart. Обновить вызов вcalc_cart_total. - Выделить функцию-конструктор
make_cart_item(name, price)изadd_item. Изменитьadd_item_to_cartдля использования конструктора. - Обобщить
add_item, выделивadd_element_last(array, element). Заменить реализациюadd_itemна вызовadd_element_last. - Разбить
update_shipping_iconsна три функции: получение кнопок, проверка бесплатной доставки, обновление иконок. Каждая функция должна работать только со своими данными. - Категоризировать все функции из финального примера по типам: М (массивы), К (корзина), Т (товар), Б (бизнес-правила).