Проект за пять минут
Swift Analyzer ищет проблемы в смысле Swift-кода: что действительно используется, куда попадают данные, как меняется состояние и где выполнение может пойти неправильно. Цель — анализировать связи между частями программы, которые трудно заметить при чтении одного файла.
Это экспериментальный инструмент. Он дополняет SwiftLint и SwiftFormat: оформление кода остаётся их задачей.
138правил в целевом каталоге
33из 141 условий принято
108условий ещё подтвердить
Числа относятся к последней зафиксированной приёмке, а не к текущим незакоммиченным изменениям. Правило и условие — разные единицы: у одного правила может быть несколько отдельно проверяемых ситуаций.
Что важно знать сейчас
- Основа уже есть: работа с данными компилятора, проверка входного снимка, модели правил и объяснения результатов.
- Главная работа — достроить связь с исходниками. Наличие модели правила ещё не означает, что инструмент сам получает все необходимые факты из проекта.
- Принятое правило имеет границы. Подтверждение для одного вида кода и одной конфигурации не распространяется автоматически на весь Swift.
- Большие проекты — следующий этап. На них будем измерять полезность находок, пропуски, ложные срабатывания и стоимость анализа.
С чего читать
| Вопрос | Страница |
|---|---|
| Что уже работает и чему доверять? | Состояние продукта |
| Какие проблемы хотим находить? | Группы правил |
| Откуда берётся доказательство? | Как устроен анализ |
| Как попробовать инструмент? | Запуск |
| Что означают 021, 022 и 023? | Дорожная карта |
| Что такое producer, unknown и G2? | Словарь |
Как пользоваться этим сайтом
Для возвращения в контекст достаточно этой страницы и «Состояния продукта». Технические спецификации нужны, когда хочется разобраться в конкретном решении.