← ClaudeAtlas

if-condition-refactorlisted

Рефакторинг сложных условий if/switch в читаемые предикатные функции. Улучшает Cyclomatic Complexity и тестируемость.
InExSu/claude-skills · ★ 0 · Code & Development · score 73
Install: claude install-skill InExSu/claude-skills
# Refactor Complex Conditionals to Predicate Functions ## Алгоритм действий 1. **Идентификация:** Найди условия с антипаттернами: - Вложенность > 2 уровней - Выражения с 2+ операндами (`&&`, `||`) - Повторяющиеся сложные проверки - Тернарники с вложенностью или вызовами функций 2. **Извлечение:** Для каждого сложного условия: - Создай чистую функцию с булевым возвращаемым типом - Перенеси всю логику внутрь, сохранив граничные случаи - Добавь JSDoc/docstring с описанием бизнес-правила - Размести рядом с использованием или в `predicates.*` / `guards.*` 3. **Замена:** - Замени оригинальное условие на вызов новой функции - Если условие дублировалось — замени ВСЕ вхождения - НЕ меняй логическое поведение, только структуру 4. **Верификация:** - Запусти существующие тесты для подтверждения эквивалентности - Убедись, что функция чистая (без побочных эффектов) - Проверь сохранение type-safety и null-checks ## Ограничения - НИКОГДА не изменяй логическое поведение условия - Не извлекай простые и самодокументируемые условия - При сомнениях спроси пользователя перед рефакторингом критической логики - Предпочитай композицию глубокой вложенности внутри предиката