← маршрут 1–48 · личный кабинет
Занятие 34. Рефакторинг версии 1.0
Перед началом
Что открыть: Открой рабочую версию проекта после занятия 33. Демонстрационный lesson-34.py используй как отдельный маленький пример.
Исходные данные: В общей игре зелье восстанавливает 5 HP. В этом уроке сохраняем то же правило: POTION_HEAL=5, START_HP=10. Рефакторинг меняет структуру, но не результат.
Что нужно понять
Занятие 34 посвящено теме «Рефакторинг версии 1.0». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Рефакторинг меняет структуру кода, сохраняя поведение. Ищем повторение, слишком длинные участки и непонятные имена, затем делаем одну небольшую правку и повторяем старый сценарий.
Минимальный пример
START_HP=10
POTION_HEAL=5
def heal(hp):
return min(hp+POTION_HEAL,START_HP)
print(heal(6))Скачать демонстрационный .py-файл
Практика
Найди один конкретный повторяющийся фрагмент версии 1.0, например одинаковый вывод состояния. Зафиксируй сценарий до изменения, вынеси повтор в функцию и повтори тот же сценарий.
Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 34.
Критерий проверки
Одинаковый вход до и после рефакторинга даёт одинаковый игровой результат; объяснение улучшения относится к читаемости/повтору, а не только к числу строк.
Как проверить: До и после рефакторинга heal(6) должен давать 10 при POTION_HEAL=5. Используй один и тот же вход и одно правило лечения.
Что сдать
Сдай рабочую версию проекта после занятия 34 и короткий протокол проверки: входные данные → ожидалось → получилось.
Если нужна поддержка: Если задача не запускается целиком, выполни один шаг отдельно и объясни, что должно измениться до следующего шага.
Типичное затруднение
Не меняй одновременно архитектуру, сюжет и баланс. Иначе невозможно понять причину нового дефекта.
Домашняя часть
Переименуй две непонятные переменные и проверь основной сценарий ещё раз.
После базы: Сделай список «до/после» из трёх улучшений читаемости.
Если появилась ошибка
Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.