Перейти к основному содержимому

Проект за пять минут

Swift Analyzer ищет проблемы в смысле Swift-кода: что действительно используется, куда попадают данные, как меняется состояние и где выполнение может пойти неправильно. Цель — анализировать связи между частями программы, которые трудно заметить при чтении одного файла.

Это экспериментальный инструмент. Он дополняет SwiftLint и SwiftFormat: оформление кода остаётся их задачей.

138правил в целевом каталоге
33из 141 условий принято
108условий ещё подтвердить

Числа относятся к последней зафиксированной приёмке, а не к текущим незакоммиченным изменениям. Правило и условие — разные единицы: у одного правила может быть несколько отдельно проверяемых ситуаций.

Что важно знать сейчас

  • Основа уже есть: работа с данными компилятора, проверка входного снимка, модели правил и объяснения результатов.
  • Главная работа — достроить связь с исходниками. Наличие модели правила ещё не означает, что инструмент сам получает все необходимые факты из проекта.
  • Принятое правило имеет границы. Подтверждение для одного вида кода и одной конфигурации не распространяется автоматически на весь Swift.
  • Большие проекты — следующий этап. На них будем измерять полезность находок, пропуски, ложные срабатывания и стоимость анализа.

С чего читать

ВопросСтраница
Что уже работает и чему доверять?Состояние продукта
Какие проблемы хотим находить?Группы правил
Откуда берётся доказательство?Как устроен анализ
Как попробовать инструмент?Запуск
Что означают 021, 022 и 023?Дорожная карта
Что такое producer, unknown и G2?Словарь
Как пользоваться этим сайтом

Для возвращения в контекст достаточно этой страницы и «Состояния продукта». Технические спецификации нужны, когда хочется разобраться в конкретном решении.