Выберите руководство по своей задаче. В нём указаны команды, ожидаемый результат и ограничения. Номер статьи помогает найти её в каталоге; он не всегда совпадает с идентификатором сценария при вызове API. Для вызова используйте идентификатор из выбранного руководства.
Как пользоваться каталогом
- Начните с задачи, которую нужно решить.
- Выберите одно основное руководство; добавьте второе, если задача затрагивает несколько областей.
- Перед изменением убедитесь, что выбраны нужный проект и ревизия исходников. Выполните диагностику без записи данных.
- Проверьте выводы анализа перед тем, как принять решение об изменении.
- Сохраните результаты тестов и согласования. Подготовьте откат и зафиксируйте результат выпуска по правилам своего проекта.
Например, при знакомстве с новым репозиторием начните с «01 — Знакомство с кодовой базой». Затем откройте «11 — Архитектура», чтобы изучить границы компонентов и зависимости. Если задача — проверить готовый pull request, начните сразу с «09 — Проверка кода».
Изучить кодовую базу
| Задача | Руководство | Ожидаемый результат |
|---|---|---|
| Зафиксировать контекст проекта и найти первые точки входа | 01 — Знакомство с кодовой базой | Ограниченная карта нужных модулей и символов |
| Создать или проверить документацию по исходникам | 03 — Документация | Документ со ссылками на существующие участки кода |
| Проверить границы модулей и зависимости | 11 — Архитектура | Архитектурная проблема с указанной областью влияния |
| Проследить поведение между зарегистрированными репозиториями | 10 — Анализ нескольких репозиториев | Пути с именами репозиториев и список связей, которые не удалось установить |
| Найти обработчики внешних данных для анализа поверхности атаки | 16 — Точки входа | Кандидаты в точки входа для проверки по исходникам и работающей системе |
| Найти повторяющийся структурный шаблон | Поиск шаблонов | Результаты поиска, отделённые от изменения кода |
Безопасность и соответствие требованиям
| Задача | Руководство | Ожидаемый результат |
|---|---|---|
| Проверить проблемы безопасности без исправления кода | 02 — Аудит безопасности | Проблемы с указанием места в коде и уровня опасности |
| Подготовить исправление проблемы безопасности | 02 — Автоматическое исправление | Предлагаемый diff и метаданные проверки для согласования исправления |
| Проверить соответствие инженерным требованиям | 08 — Соответствие требованиям | Недостающие свидетельства и оценка с указанием ограничений |
| Исследовать инцидент безопасности | 14 — Реагирование на инцидент | Предположения о затронутых путях для расследования инцидента |
Изменение и проверка кода
| Задача | Руководство | Ожидаемый результат |
|---|---|---|
| Найти точки интеграции новой функции | 04 — Разработка функции | Предлагаемые точки интеграции и затронутые контракты |
| Изменить структуру без намеренного изменения поведения | 05 — Рефакторинг | Влияние до и после, тесты и решение оставить либо откатить |
| Проверить выбранные изменения | 09 — Проверка кода | Замечания к конкретным изменениям относительно базовой ревизии |
| Спланировать массовую миграцию API или символов | 13 — Массовый рефакторинг | Кандидаты на миграцию и предлагаемый порядок работ |
| Найти предложения по оптимизации в выбранной категории | 18 — Оптимизация кода | Замечания, которые нужно проверить перед исправлением |
| Сверить изменение с правилами кодирования | 19 — Проверка стандартов | Нарушения конкретных правил и результаты проверки |
| Объединить анализ оптимизации или стандартов | Составные процессы | Результаты сценариев 18 или 19: объединение находок, устранение дублей и приоритеты |
Диагностика и качество
| Задача | Руководство | Ожидаемый результат |
|---|---|---|
| Исследовать проблему производительности | 06 — Производительность | Статические гипотезы о производительности и план измерений |
| Найти пробелы тестового покрытия | 07 — Тестовое покрытие | Методы без выполненных строк и приоритетные цели для тестов |
| Выделить технический долг | 12 — Технический долг | Проблемы в порядке приоритета со ссылками на код |
| Проследить наблюдаемую ошибку | 15 — Отладка | Места в исходниках для эксперимента по воспроизведению |
| Проверить состав и риски зависимостей | 20 — Зависимости | Состав пакетов, сведения об уязвимостях и лицензиях, SBOM |
Перейти от анализа к изменению
Для изменения кода выберите руководство по разработке функции, рефакторингу или исправлению проблемы безопасности. Оно связывает предлагаемые изменения с проверкой прав, тестированием и откатом. Сначала проверьте выводы анализа и согласуйте выбранное изменение по правилам проекта.