Навыки tdd-workflows-tdd-refactor
🔧

tdd-workflows-tdd-refactor

Безопасно ⚙️ Внешние команды

Безопасный рефакторинг кода с помощью TDD

Поддерживайте качество кода при рефакторинге, не нарушая существующую функциональность. Этот навык предоставляет комплексные рабочие процессы TDD для безопасной трансформации кода.

Поддерживает: Claude Codex Code(CC)
🥉 72 Бронза
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «tdd-workflows-tdd-refactor». Рефакторинг этого класса OrderProcessor с сохранением тестов зелёными

Ожидаемый результат:

Применены паттерны Extract Method, Value Objects и Dependency Injection. Все тесты проходят. Создан отдельный сервис валидации, введён объект значения OrderTotal и внедрены зависимости. Покрытие кода сохранено на уровне 95%.

Использование «tdd-workflows-tdd-refactor». Устранение запахов кода в этой 200-строчной функции

Ожидаемый результат:

Декомпозиция на 8 сфокусированных методов с использованием паттерна Extract Method. Применён принцип единственной ответственности. Введены объекты параметров для сложных сигнатур методов. Все 42 теста всё ещё проходят. Цикломатическая сложность снижена с 45 до 8.

Аудит безопасности

Безопасно
v1 • 2/25/2026

Static analysis detected 9 potential issues (external commands, weak crypto, reconnaissance patterns). All findings are FALSE POSITIVES - they occur in code documentation examples and markdown backticks, not executable code. No prompt injection attempts or malicious intent detected. This is a legitimate TDD refactoring skill.

1
Просканировано файлов
190
Проанализировано строк
2
находки
1
Всего аудитов
Проблемы низкого риска (1)
External Commands in Documentation
Ruby/shell backtick patterns detected at lines 23, 139, 159, 162. These are FALSE POSITIVES - the backticks contain code examples in TypeScript/JavaScript within markdown code blocks, not executable Ruby shell commands. The skill file is documentation-only with no executable code.

Факторы риска

Проверено: claude

Оценка качества

38
Архитектура
95
Сопровождаемость
87
Контент
32
Сообщество
100
Безопасность
100
Соответствие спецификации

Что вы можете построить

Модернизация устаревшего кода

Инкрементальный рефакторинг устаревших кодовых баз с сохранением функциональности

Улучшение качества кода

Устранение запахов кода и систематическое применение шаблонов проектирования

Эволюция архитектуры с поддержкой тестов

Безопасная эволюция архитектурных паттернов с использованием комплексного покрытия тестами

Попробуйте эти промпты

Базовый запрос рефакторинга
Рефакторинг этого кода с сохранением всех тестов зелёными. Сфокусируйтесь на устранении запахов кода и улучшении читаемости.
Применение паттерна
Примените паттерн Extract Method к этому коду. Разбейте длинный метод на меньшие, сфокусированные функции, сохраняя все тесты зелёными.
Комплексный рефакторинг
Рефакторинг этого кода с использованием фазы рефакторинга TDD: установление зелёного базиса, обнаружение запахов кода, применение соответствующих шаблонов проектирования, проверка полным набором тестов и предоставление метрик до/после.
Эволюция архитектуры
Рефакторинг этого кода для улучшения архитектуры с использованием паттерна Strangler Fig. Постепенная замена устаревших компонентов с сохранением безопасности тестов и предоставление инкрементального плана миграции.

Лучшие практики

  • Всегда запускайте тесты перед рефакторингом для установления зелёного базиса
  • Делайте небольшие инкрементальные изменения и запускайте тесты после каждой модификации
  • Фиксируйте изменения после каждого успешного рефакторинга для возможности лёгкого отката
  • Полностью разделяйте изменения рефакторинга от изменений поведения

Избегать

  • Рефакторинг без покрытия тестами — приводит к необнаруженным регрессиям
  • Внесение крупномасштабных изменений без промежуточного запуска тестов — высокий риск нарушения функциональности
  • Смешивание рефакторинга с добавлением новых функций — нарушает принцип единственной ответственности
  • Пропуск планирования отката — затрудняет восстановление при падении тестов

Часто задаваемые вопросы

Нужны ли мне существующие тесты для использования этого навыка?
Да, этот навык требует существующего покрытия тестами для безопасного рефакторинга. Без тестов рефакторинг рискует нарушить существующую функциональность. Рассмотрите написание характеризующих тестов сначала для устаревшего кода.
Насколько большими должны быть изменения рефакторинга?
Делайте изменения небольшими и инкрементальными. Запускайте тесты после каждой модификации. Типичные шаги рефакторинга должны изменять 5-20 строк кода и быть немедленно проверяемыми вашим набором тестов.
Может ли этот навык писать тесты для моего кода?
Нет, этот навык фокусируется на рефакторинге существующего кода с сохранением покрытия тестами. Он не пишет новые тесты. Для генерации тестов рассмотрите использование специализированного навыка написания тестов TDD.
Что делать, если мои тесты падают во время рефакторинга?
Немедленно откатите последнее изменение, определите, что сломалось, и примените меньшие инкрементальные изменения. Используйте контроль версий для безопасных экспериментов. Навык включает протоколы восстановления для обработки сбоев.
Работает ли это со всеми языками программирования?
Принципы рефакторинга применимы широко, но примеры кода и паттерны в первую очередь продемонстрированы на TypeScript. Концепции переносятся на Java, C#, Python и другие объектно-ориентированные языки.
Как узнать, какой шаблон проектирования применить?
Навык предоставляет руководство по выбору паттерна на основе обнаруженных запахов кода. Начните с конкретной проблемы: дублирующийся код требует извлечения, сложные условия требуют полиморфизма, а тесная связанность требует внедрения зависимостей.

Сведения для разработчиков

Автор

sickn33

Лицензия

MIT

Ссылка

main

Структура файлов

📄 SKILL.md