Процедуры контроля и автоматизация
Ревьюер обязан проверить
1. Runtime-валидация границ системы
- ✅ Присутствует валидация для:
- API responses
- WebSocket messages
- Web Storage (localStorage/sessionStorage)
- Query параметры / URL
- PostMessage events
- Данные из форм
2. Отсутствие запрещенных практик
- ❌ Нет
any
- ❌ Нет необоснованных type cast (
as)
- ❌ Нет
unknown без последующего type narrowing
3. Разделение типов
- ✅ DTO и UI модели разделены (если типы описываются вручную)
- ✅ Нет UI-логики в DTO (
isLoading, error, viewState)
4. Соответствие выбранному подходу
- ✅ GraphQL: типы генерируются из схемы
- ✅ OpenAPI: generated типы не коммитятся, генерация настроена
- ✅ Runtime-схемы: схемы актуальны и применяются на границах
- ✅ Ручные DTO: структура отражает API, подход согласован с Tech Lead
5. Strict mode
- ✅ TypeScript работает в strict mode
- ✅
tsconfig.json содержит "strict": true
6. Структура
- ✅ Выбранный подход типизации соблюдается
- ✅ Generated types не коммитятся (если используется генерация)
- ✅ Структура DTO отражает структуру API
Чеклист для автора PR