Использование навыков

Разработка программного обеспечения с Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Что такое рефакторинг?

Excalidraw: концепция рефакторинга — структура кода меняется, а поведение остаётся прежним

Разработка программного обеспечения с Claude Code

Модульные тесты обеспечивают безопасный рефакторинг

Безопасный процесс рефакторинга: запустить тесты, применить навык рефакторинга, проверить, снова запустить тесты, зафиксировать изменения при успехе

Разработка программного обеспечения с Claude Code

Текущее состояние проекта

music-analytics-api/
  app.py
  routes.py
  test_routes.py     # <- Generated by unit-tests skill
  models.py
  CLAUDE.md
  .claude/
    agents/
    skills/
      unit-tests/    # From previous video
        SKILL.md
      refactor/      # NEW: safe refactoring
        SKILL.md
Разработка программного обеспечения с Claude Code

Два способа вызова

Два способа вызова навыков: вручную с помощью слэш-команды и автоматически, когда Claude находит совпадение

Разработка программного обеспечения с Claude Code

Рефакторинг кода с помощью навыков

>/unit-tests @routes.py
Added unit tests:

Key Testing Patterns:
- Uses Flask test client for realistic HTTP testing
- Mocks external dependencies (music_store, analytics functions)
- Tests both happy paths and edge cases
- Includes validation of response formats and structure
- All tests are isolated with proper fixtures
The test file is ready to use and integrates with the project's existing pytest.
Разработка программного обеспечения с Claude Code

Рефакторинг кода с помощью навыков

> /refactor @routes.py
Refactoring Complete
Changes made:
- Extracted _prepare_albums_for_stats(). Eliminates 9-line 
  list comprehension, makes intent clear
- Extracted _prepare_albums_for_average(). Removes duplicated 
  album-to-dict conversion logic
Benefits:
- Less duplication
- Cleaner route handlers
- Centralized data preparation

All 21 tests pass: behavior fully preserved
Разработка программного обеспечения с Claude Code

Навыки обеспечивают стабильность

Без навыка: непоследовательно и подвержено ошибкам. С навыком: стабильно и надёжно

Разработка программного обеспечения с Claude Code

Давайте потренируемся!

Разработка программного обеспечения с Claude Code

Preparing Video For Download...