SwiftUI рефакторинг вью
Refactor and review SwiftUI view files with strong defaults for small dedicated subviews, MV-over-MVVM data flow, stable view trees, explicit dependency injection, and correct Observation usage. Use when cleaning up a SwiftUI view, splitting long bodies, removing inline actions or side effects, reducing computed `some View` helpers, or standardizing `@Observable` and view model initialization patt
Что делает навык
Skill рефакторирует SwiftUI-вью, приводя их к структуре с небольшими, явными и стабильными типами. Он устраняет длинный код в body, удаляет встроенные действия и побочные эффекты, а также стандартизирует использование Observation и MV-паттерна.
Когда применять
- Разбиение длинных body на выделенные subview для улучшения читаемости и стабильности дерева.
- Удаление встроенных действий (actions) и побочных эффектов из body с переносом логики в сервисы.
- Сокращение вычисляемых хелперов some View и замена их на отдельные типы View.
- Стандартизация паттернов @Observable и инициализации view model в init.
- Обеспечение стабильности дерева вью путем устранения условного переключения корневых ветвей.
Как работает
- Привести порядок элементов в файле к стандарту: Environment, свойства, computed var, init, body, view helpers, async functions.
- Удалить inline-действия и побочные эффекты из body, перенеся бизнес-логику в сервисы/модели.
- Выделить длинные или логически сложные участки body в отдельные dedicated subview типы.
- Заменить условное переключение корневых ветвей (if/else в теле) на стабильную структуру с условиями в модификаторах.
- Настроить использование Observation: хранить @Observable как @State в iOS 17+, использовать @StateObject/@ObservedObject для iOS 16 и ниже.
- При наличии или запросе View Model: сделать её неопциональной и инициализировать в init, избегая bootstrapIfNeeded.
Примеры запросов агенту
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.