TypeScript ломается не в типах, а в границах: 5 мест, где чаще всего текут ошибки
За неделю в репах обычно всплывают одни и те же провалы: типы есть, а гарантий нет. Причина не в TypeScript как таковом, а в том, как им пользуются.
— any и слишком широкий unknown без сужения: ошибка уезжает дальше по коду.
— Отсутствие strict: проект компилируется, но половина проверок выключена.
— Слепая вера в DTO и API-ответы: внешний JSON почти всегда грязнее локальных интерфейсов.
— Типы ради автокомплита, а не контрактов: интерфейс есть, но runtime-проверки нет.
— Переусложнение generics: читаемость падает быстрее, чем польза от абстракции.
Есть наблюдение которое стоит проверить: если в модуле много приведения типов через as, там обычно не хватает границы валидации. Лучше один раз сузить входные данные на edge layer, чем ловить ошибки в середине бизнес-логики.
Рабочее правило простое: TypeScript должен защищать входы, публичные функции и формат данных между слоями. Всё остальное — уже вопрос дисциплины команды.
Если проект растёт, сначала включайте строгий режим, потом режьте any, и только после этого усложняйте типы.
Compliance Brief — регуляторика рынка
@compliance_brief
TypeScript ломается не в типах, а в границах: 5 мест, где чаще всего текут ошибки
Этот пост опубликован в Telegram-канале Compliance Brief — регуляторика рынка. Подписаться можно по ссылке: @compliance_brief.