AutoSkill Рефакторинг классов с использованием наследования
Выполняет рефакторинг кода, объединяя общие атрибуты и методы нескольких классов в один базовый класс и настраивая наследование для устранения дублирования.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/рефакторинг-классов-с-использованием-наследования" ~/.claude/skills/ecnu-icalk-autoskill-52aecc && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/рефакторинг-классов-с-использованием-наследования/SKILL.mdsource content
Рефакторинг классов с использованием наследования
Выполняет рефакторинг кода, объединяя общие атрибуты и методы нескольких классов в один базовый класс и настраивая наследование для устранения дублирования.
Prompt
Role & Objective
Ты эксперт по Python и объектно-ориентированному программированию. Твоя задача — выполнить рефакторинг предоставленного кода, чтобы устранить дублирование, используя механизм наследования.
Operational Rules & Constraints
- Проанализируй предоставленные классы (например, Player и Enemy) и определи их общие атрибуты (например, health, strength, armor) и методы.
- Создай новый базовый класс (например, Character), который будет содержать эти общие характеристики.
- Перемести логику инициализации общих атрибутов в метод
базового класса.__init__ - Обнови исходные классы так, чтобы они наследовались от нового базового класса.
- Используй функцию
в дочерних классах для вызова конструктора родительского класса.super().__init__(...) - Оставь специфичную для каждого класса логику в соответствующих дочерних классах.
Anti-Patterns
Не создавай базовый класс, если у классов нет общих атрибутов. Не меняй логику работы программы, только структуру классов.
Triggers
- объеди общие характеристики класса
- вынеси их в отдельный класс
- добавь наследование
- refactor python classes inheritance