Понять работу05 / 20
Проверяйте доказательства
На этой странице
Слова Агента «реализовано» недостаточно. Каждое объяснение идёт со своими доказательствами: прочитанным кодом, запущенными тестами, записями запусков и скриншотами, до которых один клик. Когда кто-то спросит, вы можете указать на нужное место.
Что входит в доказательства
Откройте «Evidence» в примечании. Обычно там такие материалы:
| Материал | Как показан | Что происходит по щелчку |
|---|---|---|
| Место в коде | Имя функции или метка «файл:строка» | Справа открывается панель кода на этих строках |
| Вывод команды, например запуска тестов | Метка | Полный вывод открывается на вспомогательной панели справа |
| Дифф кода | Метка | Открывается на вспомогательной панели справа |
| Скриншоты и другие изображения | Миниатюра | Открывается в увеличенном виде |
Вывод команд, диффы и скриншоты берутся из записей, которые Агент оставил при реализации. Noea хранит для каждого хода, какие команды запускались и какие скриншоты были сделаны, поэтому объяснение может ссылаться на них напрямую.
Посмотрите на место в коде
Место в коде в середине предложения обычно показано как имя функции или переменной, например openGrace; иначе оно показано меткой «файл:строка», например grace.ts:6-18. Если одно объяснение ссылается на два файла с одним именем, к метке добавляется родительская папка.
Задержите указатель на имени или метке, чтобы увидеть полный путь, диапазон строк и символ. Щёлкните, и справа откроется панель кода для этого файла на указанных строках. Если файл остался таким, каким его оставил один из ходов реализации, изменения этого хода накладываются на весь файл, и видно, какой ход их написал. Меню правой кнопки позволяет открыть файл в приложении по умолчанию, показать его в Finder или скопировать путь.
Если код с тех пор переместился, номера строк в метке и место, куда она ведёт, следуют за его текущим положением. Если процитированный код изменился и найти можно только его имя, метка тускнеет; если файла больше нет или код найти нельзя, метка тускнеет и зачёркивается, а подсказка при наведении объясняет причину. В обоих случаях объяснение, скорее всего, нужно исследовать заново.
Как далеко доходят доказательства
Глядя на материал, сначала определите, какой он:
| Материал | Что он может подтвердить | О чём помнить |
|---|---|---|
| Код реализации или тестов | Какую логику использует код и какие случаи определяют тесты | Наличие кода тестов не значит, что тесты запускались или прошли |
| Результаты прежних запусков | Что запускалось тогда и каким был результат тогда | Если код с тех пор изменился, результат может быть уже неверным |
| Проверка, запущенная при этом объяснении | Результат в среде и объёме этого запуска | Пройденные случаи ничего не говорят о непокрытых |
Explain и Investigation опираются главным образом на чтение кода и имеющихся материалов; они не перезапускают каждый раз тесты, сборки или приложение. Агент проверяет что-то запуском, только когда чтение кода не позволяет установить факт, от которого зависит вывод. Хорошие доказательства говорят и о том, что не проверялось, например: «Не запускалось с настоящим платёжным провайдером; результаты списаний взяты из тестовой подмены». Когда доказательств мало, реализация не найдена или требование неоднозначно, доказательства и внимание должны сказать об этом прямо, а не предлагать вывод, который лишь выглядит уверенным.
Помните также, что объяснение — это запись исследования с доказательствами, а не сертификат. Проверка реализации одного Агента другим Агентом сама по себе не делает результат более надёжным. Ценность доказательств в том, что вы можете открыть их и проверить, а не в том, что объяснение говорит «подтверждено».
Скриншоты и интерфейс
Некоторое поведение нельзя установить только по коду, например, действительно ли уведомление появляется в интерфейсе. Если Агент сделал скриншот при реализации, объяснение может указать его как доказательство, например: «Во время льготного периода вверху страницы настроек команды появляется уведомление».
Щёлкните по миниатюре, чтобы увеличить её. Обратите внимание, какая это страница, в каком состоянии и какой запуск её оставил: скриншот доказывает, как выглядел интерфейс тогда; если код с тех пор изменился, интерфейс мог измениться тоже.
Проверяйте пункт за пунктом
Проверяя доказательства, спрашивайте о каждом пункте:
- Указывает ли эта ссылка на то, о чём эта часть требования?
- Какие случаи покрывают тесты и есть ли среди них краевые?
- Действительно ли результат подтверждает вывод объяснения?
- Говорят ли доказательства о том, что не проверялось?
Например, в доказательствах для льготного периода сказано «запущены тесты льготного периода: все 6 проходят», а во внимании отмечено, что «ни один тест не покрывает случай, когда успешна третья попытка». Теперь вы знаете, что этот путь опирается только на чтение кода, без запуска, который это доказал бы.
Когда доказательств недостаточно
Если не хватает ключевого случая, наведите указатель на абзац, нажмите «Ask about this» слева от него и попросите Агента проверить:
Добавь тест: третья попытка удаётся на 6-й день льготного периода, поэтому подписка возвращается в обычное состояние и не понижается. Когда тест отработает, сообщи мне результат.
Когда Агент закончит, Noea сама объяснит этот ход; если вы это отключили, нажмите «Investigation» слева от абзаца. Новое объяснение укажет этот запуск как доказательство.
Если вывод объяснения не соответствует его доказательствам или вы думаете, что Агент неверно понял ваше требование, спросите об этом здесь же и не меняйте требование под код. См. Запишите согласованное в требования.