Development Workflow
Руководство по процессу разработки новых функций в Thrust.Настройка окружения
Первый запуск
Требования
- Xcode 15.0+
- iOS 17.0+ (deployment target)
- macOS 14.0+ (для разработки)
- Swift 5.9+
Secrets
СоздайтеThrust/Config/Secrets.plist:
Git Workflow
Ветки
Основные ветки:main- production кодdevelop- development кодfeature/*- новые функцииbugfix/*- исправления баговhotfix/*- срочные исправления
Создание feature
Commit Messages
Используйте Conventional Commits:Разработка новой функции
Шаг 1: Планирование
- Создайте issue в GitHub
- Опишите функцию и требования
- Обсудите с командой
- Получите approval
Шаг 2: Дизайн
-
Определите где функция живет:
- Новый модуль в
Features/? - Расширение существующего модуля?
- Новый менеджер в
Managers/?
- Новый модуль в
-
Спроектируйте модели данных:
- Нужна ли новая
@Model? - Изменения в существующих моделях?
- Миграция данных?
- Нужна ли новая
-
Определите UI:
- Новые views
- Изменения в навигации
- Интеграция с существующим UI
Шаг 3: Реализация
Создание модели:Шаг 4: Интеграция
Добавить в навигацию:Шаг 5: Тестирование
Unit тесты:Шаг 6: Документация
- Добавьте комментарии к коду
- Обновите README если нужно
- Добавьте в документацию Mintlify
- Обновите CHANGELOG
Шаг 7: Code Review
- Создайте Pull Request
- Заполните описание:
- Что изменено
- Зачем
- Как тестировать
- Screenshots (для UI)
- Запросите review у команды
- Исправьте замечания
- Получите approval
- Merge в develop
Проверка качества
Перед commit
- SwiftLint warnings
- Compilation errors
- Unit tests
- Code coverage
- Security issues
Перед release
- Все тесты (unit + UI)
- Performance tests
- Memory leaks
- Локализации
- Assets
- Entitlements
Best Practices
Код
1. Используйте существующие компоненты ❌ Плохо:SwiftData
1. Используйте @Query для чтенияUI/UX
1. AccessibilityDebugging
Логирование
Breakpoints
Используйте symbolic breakpoints для:UIViewAlertForUnsatisfiableConstraints- Auto Layout issuesobjc_exception_throw- Objective-C exceptions
Instruments
Регулярно проверяйте:- Leaks - утечки памяти
- Allocations - использование памяти
- Time Profiler - производительность
- Network - сетевые запросы
CI/CD
Xcode Cloud
Автоматические проверки при каждом PR:- Build
- Unit tests
- UI tests
- SwiftLint
- Code coverage
Релиз
- Обновите версию в
Thrust-app-Info.plist - Обновите
CHANGELOG.md - Создайте tag:
git tag v1.2.0 - Push tag:
git push origin v1.2.0 - Xcode Cloud автоматически создаст build для TestFlight