37 lines
5.0 KiB
Markdown
37 lines
5.0 KiB
Markdown
# Проверка полноты проектных знаний
|
|
|
|
Эти вопросы помогают оценить, объясняет ли документация систему без доступа
|
|
к исходникам. Для каждого вопроса важны правильный ответ, существенное
|
|
ограничение и отсутствие ошибочного вывода из похожего сценария.
|
|
|
|
## Cases
|
|
|
|
| Вопрос | Объяснение | Существенная граница |
|
|
| --- | --- | --- |
|
|
| Кто подтверждает доступ к брокерскому счёту? | [Обзор](../architecture/system-overview.md#предметная-модель) | Сессия подтверждает пользователя, но идентификатор счёта не доказывает доступ |
|
|
| Как меняются финансовые данные при замене token? | [Подключение](../features/tbank-connection.md#граница-финансового-кэша) | Данные прежнего поколения не становятся сохранённым снимком нового подключения |
|
|
| Что происходит при конкурентном refresh? | [Authentication](../features/authentication.md), [ADR 009](../adr/009-concurrent-refresh-rotation-policy.md) | Один победитель; заменённый token не отзывает его сессию сам по себе |
|
|
| Как восстанавливается интерфейс после ошибки обновления? | [UI resilience](../features/frontend-ui-resilience.md) | Фоновая ошибка отличается от первой загрузки и смены пользователя |
|
|
| Чем будущая выплата отличается от дохода? | [События](../features/brokerage-account-upcoming-events.md), [доходы](../features/brokerage-account-income-analytics.md) | Прогноз не подтверждает личное зачисление |
|
|
| Можно ли складывать разные валюты или заменить неизвестное нулём? | [Money](../architecture/domain-glossary.md#money) | Точность, валюта и отсутствие значения сохраняются отдельно |
|
|
| Откуда рейтинг и доходность облигации? | [Bond detail](../features/bond-detail.md) | Рейтинг эмитента не заменяет рейтинг выпуска; рыночная доходность не равна личному результату |
|
|
| Доказывает ли OpenAPI правильность ошибки запроса? | [HTTP API](../architecture/http-api.md#error-contract) | Равенство схем не доказывает полный HTTP-поток |
|
|
| Что гарантирует проверка хранения данных? | [Backend](backend-workflow.md#локальная-проверка) | Проверка с подставными ответами не доказывает атомарность реальной базы |
|
|
| Как ограничиваются обращения к внешнему сервису? | [T-Bank](../features/tbank-connection.md#конфигурация-и-ограничения) | Повторы, очередь и лимит ограничены; TLS остаётся включённым |
|
|
| Защищает ли фильтрация логов любое сообщение? | [ADR 008](../adr/008-pino-backend-logging.md) | Секрет в свободном тексте требует отдельной проверки |
|
|
| Есть ли восстановление пароля по письму? | [Ограничения auth](../features/authentication.md#limitations) | Пример будущего сценария не является поставленной возможностью |
|
|
|
|
## Что измерять
|
|
|
|
Полезное объяснение позволяет найти ответ, назвать ограничение и связать его
|
|
с другими сценариями. Оцениваются неверные выводы о доступе, деньгах, полноте
|
|
данных и источниках, а также число уточнений до правильного понимания.
|
|
Время поиска и объём чтения имеют смысл только вместе с точностью ответа.
|
|
|
|
## Изменение правил
|
|
|
|
Если знание есть, но его трудно найти, уточняется навигация. Если документ
|
|
найден, но не объясняет различие понятий или ограничение, уточняется объяснение.
|
|
При конфликте источников сохраняется отметка о ручном решении; догадка не
|
|
подменяет установленный факт.
|