← маршрут 1–48 · личный кабинет

Занятие 34. Рефакторинг версии 1.0

45 минут учебной работыиндивидуальнотекстовая RPG

Перед началом

Что открыть: Открой рабочую версию проекта после занятия 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 об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.