refactor
Рефакторинг кода для улучшения обслуживаемости
Устаревший код становится сложным в поддержке и расширении. Этот навык применяет проверенные методы рефакторинга для улучшения структуры и читаемости с сохранением поведения.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «refactor». Review this 150-line function for code smells
Ожидаемый результат:
Выявлено 4 кодовых запаха: 1) Long Method — функция превышает 50 строк, 2) Duplicate Logic — одинаковое вычисление встречается 3 раза, 3) Magic Numbers — необъяснённые значения 0.15 и 86400000, 4) Nested Conditionals — 5 уровней вложенности. Рекомендуемые рефакторинги: Extract Method для логики вычислений, Introduce Constants для магических чисел, Replace Nested Conditional с Guard Clauses.
Использование «refactor». Extract methods from this order processing function
Ожидаемый результат:
Создано 5 сфокусированных функций: fetchOrder() обрабатывает получение данных, validateOrder() проверяет бизнес-правила, calculatePricing() вычисляет итоги, updateInventory() управляет запасами, createShipment() обрабатывает выполнение заказа. Основная processOrder() теперь чётко координирует эти шаги.
Аудит безопасности
БезопасноStatic analyzer flagged 58 potential issues (42 external_commands, 1 filesystem, 15 blocker patterns). All findings are FALSE POSITIVES - the SKILL.md file contains only educational documentation with markdown code blocks showing refactoring before/after examples. The detected patterns (backticks, regex) exist in documentation text, not executable code. No actual security risks present.
Оценка качества
Что вы можете построить
Улучшение устаревшего кода
Преобразование сложного в поддержке устаревшего кода в чистый, структурированный код путём выявления кодовых запахов и применения целевых методов рефакторинга.
Изучение паттернов рефакторинга
Изучение распространённых паттернов рефакторинга на примерах «до/после» для развития навыков распознавания и исправления проблем качеств кода.
Подготовка к добавлению функциональности
Реструктурирование кода для упрощения добавления новых функций за счёт улучшения модульности и снижения связности компонентов.
Попробуйте эти промпты
Проанализируйте этот код и выявите кодовые запахи. Для каждого запаха объясните его тип и предложите подход к рефакторингу: [вставьте код]
Эта функция слишком длинная и делает несколько вещей. Помогите выделить её в меньшие, сфокусированные функции с чёткими обязанностями: [вставьте функцию]
Преобразуйте этот нетипизированный JavaScript-код в TypeScript с правильными интерфейсами и определениями типов. Объясните каждый выбор типа: [вставьте код]
Этот код содержит сложную условную логику, которая выиграет от паттерна проектирования. Проанализируйте код, предложите подходящий паттерн с реализацией: [вставьте код]
Лучшие практики
- Всегда запускайте тесты после каждого маленького шага рефакторинга, чтобы убедиться в сохранении поведения
- Фиксируйте изменения в системе контроля версий до и после каждого безопасного состояния рефакторинга
- Фокусируйтесь на одном кодовом запахе за раз, а не на одновременных множественных изменениях
Избегать
- Рефакторинг без тестов — это правка, а не рефакторинг
- Изменение поведения при рефакторинге — сохраняйте функциональность идентичной
- Рефакторинг критического production-кода в жёсткие сроки без страховочных механизмов