<b>7 типовых ошибок в TypeScript, из-за которых типы есть, а надёжности нет</b>
TypeScript часто воспринимают как «компилятор с подсказками». Это удобно, но опасно: код проходит сборку, а баги остаются в рантайме.
— Слишком много <code>any</code>. Как только он появляется в одном месте, типовая цепочка рвётся дальше по коду.
— Путают <code>unknown</code> и <code>any</code>. <code>unknown</code> заставляет проверить входные данные, <code>any</code> — молча пропускает мусор.
— Делают <code>as SomeType</code> вместо нормальной проверки. Приведение типа не валидирует данные, оно только успокаивает компилятор.
— Не включают строгие режимы в <code>tsconfig</code>. Без них часть ошибок просто не попадает в сборку.
— Хранят бизнес-логику в типах, а не в коде. Типы хороши для контракта, но не заменяют валидацию и тесты.
— Игнорируют nullable-сценарии. <code>null</code> и <code>undefined</code> потом всплывают в самых неудобных местах.
— Раздувают типы до нечитаемости. Если тип нельзя быстро понять глазами, его начнут обходить через костыли.
Хорошее правило: если тип пришлось «доказывать» через <code>as</code>, сначала проверь данные, потом объявляй интерфейс. Это обычно дешевле, чем чинить случайный рантайм-баг.
SMS Activation: виртуальные номера для регистраций
@sms_activation_numbers
<b>7 типовых ошибок в TypeScript, из-за которых типы есть, а надёжности нет</b>
Этот пост опубликован в Telegram-канале SMS Activation: виртуальные номера для регистраций. Подписаться можно по ссылке: @sms_activation_numbers.