Основной процесс05 / 16
Читайте объяснения и доказательства
На этой странице
Описания реализации помогают начать с отдельного требования, понять работу кода и найти доказательства, подтверждающие описание. Сосредоточьтесь на поведении, подтверждающих материалах и вопросах, для решения которых нужно ваше суждение.
Откройте объяснения к абзацу и фрагменту
Нажмите на текст документа, чтобы редактировать его. Нажмите на пустое место внутри абзаца, за пределами его текста, чтобы открыть объяснение уровня абзаца с меткой L1.
Некоторые объяснения относятся к слову или фразе. Наведите указатель на абзац, чтобы увидеть короткие подчёркивания, затем нажмите на одно из них, чтобы прочитать локальное объяснение с меткой L2.
Списки, таблицы и блоки кода тоже могут иметь объяснения. Весь список исследуется как единое целое; заголовки по отдельности не исследуются.
Примечания на полях можно оставить открытыми для нескольких абзацев. Для каждого абзаца одновременно показывается одно объяснение уровня абзаца или локальное объяснение. В узком окне примечание может располагаться под абзацем.
Читайте три раздела
| Раздел | На какой вопрос отвечает | На что смотреть |
|---|---|---|
| Описание реализации | Как реализация отвечает этому требованию? | Поведение, шаги, пограничные случаи и решения реализации. |
| Доказательства | Что подтверждает объяснение? | Ссылки на код, тесты, вывод команд и другие материалы, которые можно изучить. |
| Требует внимания | Что требует дальнейшего суждения? | Пробелы, решения реализации, риски и предложения. |
Раздел Realization развёрнут по умолчанию. При необходимости разверните Evidence. Если замечаний нет, раздел Attention скрыт.
Для награды после семи последовательных отметок объяснение может описывать накопление дат, ссылаться на соответствующую функцию и тесты и отмечать обработку поездок через часовые пояса. Фактическое содержимое зависит от исследования вашего проекта.
Изучите доказательства
Ссылки на код открывают файлы в системном приложении по умолчанию. Изображения можно смотреть и увеличивать в примечании на полях. Метки таких материалов, как вывод команд и различия в коде, открывают новую вкладку. Noea сообщит, если материал больше недоступен.
Спросите себя, отвечает ли каждая ссылка на ваш вопрос, какие условия охватывает тест и подтверждают ли результаты вывод. Если важный сценарий отсутствует, задайте вопрос по абзацу и запросите дополнительное исследование или проверку.
Особенно важно различать три вида доказательств:
| Материал | Что помогает установить | Чего не доказывает |
|---|---|---|
| Код реализации или тестов | Используемую логику и сценарии, определённые тестами. | Наличие тестов не означает, что они запускались или прошли. |
| Результаты прошлых запусков | Что выполнялось тогда и каков был результат на тот момент. | Позднейшие изменения кода могут сделать эти результаты неприменимыми. |
| Проверка, действительно выполненная сейчас | Результат для среды и охвата этого запуска. | Успех проверенных сценариев не доказывает правильность непроверенных. |
Explain и Investigation обычно читают код и существующие доказательства, а не запускают тесты, сборку или приложение каждый раз заново. Они проверяют факт по мере необходимости, если одного чтения недостаточно для важного вывода. Оценивайте охват проверки по тому, что действительно выполнялось.
Чтобы повторно запустить конкретный тест, попросите агента в чате выполнить его и сообщить охват и результат, затем снова исследуйте соответствующий абзац.
Решите, какие решения включить в требования
Объяснение «Сейчас реализация использует локальное хранилище» описывает текущий подход; оно не обязывает будущие версии использовать его. Требования, которые вы хотите сохранить, должны быть записаны в документе требований.
Подумайте, влияет ли решение на опыт пользователя, стоимость, конфиденциальность, риск или будущие решения. Когда разберётесь в нём, обычно возможны два варианта:
- Текущий подход приемлем, и вы хотите сохранить возможность изменить его позже: пользуйтесь им, не превращая его в ограничение.
- Подход должен сохраняться и в будущих версиях: запишите требование прямо и оцените ограничения, которые оно вводит.
Например, сегодня вы можете согласиться хранить записи об отметках локально. Если работа без сети станет необходимой, запишите: «Пользователи могут отмечаться без подключения к сети», а затем исследуйте, как реализация обеспечивает это поведение. Формулировку нужного поведения обычно легче поддерживать, чем подробное описание реализации.
Разберитесь с разделом Attention
Замечания Attention делятся на пробелы, решения реализации, риски и предложения. Это помогает отличить отсутствующее поведение от текущих проектных решений и тем для дальнейшего обсуждения.
Маркер внимания справа от абзаца открывает соответствующее объяснение. Его число показывает количество панелей объяснений с замечаниями, а не отдельных проблем. Пробел выделяет маркер более заметным цветом.
Прежде чем решать, исправлять ли код, добавлять проверку, менять требования или оставлять текущее поведение, поймите последствия. Не каждое замечание должно становиться требованием. Отсутствие маркера означает только то, что текущее объяснение не перечисляет замечаний.
Изучайте иллюстрации поведения
Некоторые объяснения содержат небольшой интерактивный пример поведения. Его можно попробовать, сбросить или изучить его исходный код.
Примеры работают в изолированной среде без доступа к приложению или сети и не сохраняют состояние взаимодействия. Они объясняют правило; чтобы проверить, следует ли ему настоящая программа, всё равно нужны код и доказательства проверок.
Проверьте, применимо ли объяснение
Прежний текст (Previous text) означает, что объяснение относится к требованию до вашей правки. Может устареть (May be outdated) означает, что файлы, прочитанные или процитированные в объяснении, изменились после исследования. В обоих случаях стоит исследовать снова.
Примечания на полях доступны только для чтения. Чтобы изменить требование, отредактируйте его; чтобы проверить объяснение, используйте Investigation или Исследовать снова (Investigate Again). См. статью Поддерживайте объяснения в актуальном состоянии.