if-condition-refactorlisted
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
## Ограничения
- НИКОГДА не изменяй логическое поведение условия
- Не извлекай простые и самодокументируемые условия
- При сомнениях спроси пользователя перед рефакторингом критической логики
- Предпочитай композицию глубокой вложенности внутри предиката