News Grower

Независимое покрытие AI, стартапов и технологий.

TypeScript в Next.js как система контрактов, а не типизация ради типизации

Когда разработчик начинает писать на Next.js с TypeScript, первая реакция часто довольно холодная. Вместо того чтобы двигаться быстрее, он начинает чаще видеть ошибки. Где-то не совпал shape объекта, где-то строка не подходит в более узкий тип, где-то TypeScript напоминает, что значение может быть undefined. На этом...

TypeScript в Next.js как система контрактов, а не типизация ради типизации

Когда разработчик начинает писать на Next.js с TypeScript, первая реакция часто довольно холодная. Вместо того чтобы двигаться быстрее, он начинает чаще видеть ошибки. Где-то не совпал shape объекта, где-то строка не подходит в более узкий тип, где-то TypeScript напоминает, что значение может быть undefined. На этом месте легко сделать неправильный вывод. Кажется, что TS просто добавляет трение и требует больше служебного кода.Обычно проблема не в TypeScript, а в способе мышления. Если использовать его как набор аннотаций поверх уже написанного кода, пользы действительно немного. Но если смотреть на типы как на систему контрактов между слоями приложения, картина меняется. Особенно в Next.js App Router, где у нас постоянно есть границы server и client, внешний ввод из URL, формы, мутации и разные состояния интерфейса.В этот момент TypeScript перестаёт быть типизацией ради типизации. Он начинает отвечать на более важный вопрос: какие состояния в проекте вообще допустимы, а какие не должны пройти дальше границы. По такой модели я выстроил один из своих проектов Workbench. Не начинать с мысли давайте везде поставим типы, а начинать с мысли где у нас проходит граница, что в неё входит и что из неё может выйти. После этого многие решения в коде становятся почти очевидными.

Связанные теги

Компании и люди

Линия сюжета

Продолжить следить за темой

Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.

Синтезатор речи с ИИ на Repka-Pi 4

Синтезатор речи с ИИ на Repka-Pi 4

Ресурсы современных одноплатных микрокомпьютеров вполне могут синтезировать речь с приемлемым качеством, используя технологии нейросетей. В этой статье пример кейса с добавление...

Кейс Клаудмастер: как редизайн интерфейса управления облачных бюджетов увеличил глубину сессии в 5 раз

Кейс Клаудмастер: как редизайн интерфейса управления облачных бюджетов увеличил глубину сессии в 5 раз

Иногда проблема продукта не в том, что он не нужен, а в том, что им невозможно пользоваться.Это история про рейдизайн (и немного рефакторинг) раздела управления облачными расход...

1,5 года ожиданий впустую? Intel Core Ultra 200S Plus и 200HX Plus

1,5 года ожиданий впустую? Intel Core Ultra 200S Plus и 200HX Plus

В 2024 году Intel представили линейку Intel Core Ultra 200S Arrow Lake-S. Она состоит из пяти процессоров в конфигурации от 14 до 24 ядер. Революционных изменений в продукте не ...

Внешность древнего вида Человека, 1 600 000 — 1 500 000 лет назад

Внешность древнего вида Человека, 1 600 000 — 1 500 000 лет назад

Для сравнения так же приведу пример реконструкции внешности гоминин, древностью между 330 000 - 146 000 лет назад и краниометрическое изучение жителей Твери, 1700-х годов. ( изм...

OpenAI закрывают Sora, MiniMax обучает сама себя, Nvidia ставит на Миру Мурати: главные события марта в ИИ

OpenAI закрывают Sora, MiniMax обучает сама себя, Nvidia ставит на Миру Мурати: главные события марта в ИИ

Обычно к середине весны рабочий ритм устаканивается, превращаясь в привычную череду тасков, созвонов и коммитов. Единственное, что мешает этой стабильности — регулярные апдейты ...

Ловим кирпич лицом: как работают УФ-фильтры в креме от солнца

Ловим кирпич лицом: как работают УФ-фильтры в креме от солнца

Когда фотон ультрафиолета врезается в кожу, он несёт энергию порядка 3–4 электронвольт. Этого достаточно, чтобы порвать химические связи в ДНК, устроить мутацию и запустить проц...

Рекламный слот

Встроенный блок в статье

Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.

Партнерский слот

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Синтезатор речи с ИИ на Repka-Pi 4

Синтезатор речи с ИИ на Repka-Pi 4

Ресурсы современных одноплатных микрокомпьютеров вполне могут синтезировать речь с приемлемым качеством, используя технологии нейросетей. В этой статье пример кейса с добавление...

Кейс Клаудмастер: как редизайн интерфейса управления облачных бюджетов увеличил глубину сессии в 5 раз

Кейс Клаудмастер: как редизайн интерфейса управления облачных бюджетов увеличил глубину сессии в 5 раз

Иногда проблема продукта не в том, что он не нужен, а в том, что им невозможно пользоваться.Это история про рейдизайн (и немного рефакторинг) раздела управления облачными расход...

1,5 года ожиданий впустую? Intel Core Ultra 200S Plus и 200HX Plus

1,5 года ожиданий впустую? Intel Core Ultra 200S Plus и 200HX Plus

В 2024 году Intel представили линейку Intel Core Ultra 200S Arrow Lake-S. Она состоит из пяти процессоров в конфигурации от 14 до 24 ядер. Революционных изменений в продукте не ...

Внешность древнего вида Человека, 1 600 000 — 1 500 000 лет назад

Внешность древнего вида Человека, 1 600 000 — 1 500 000 лет назад

Для сравнения так же приведу пример реконструкции внешности гоминин, древностью между 330 000 - 146 000 лет назад и краниометрическое изучение жителей Твери, 1700-х годов. ( изм...

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Синтезатор речи с ИИ на Repka-Pi 4

Синтезатор речи с ИИ на Repka-Pi 4

Ресурсы современных одноплатных микрокомпьютеров вполне могут синтезировать речь с приемлемым качеством, используя технологии нейросетей. В этой статье пример кейса с добавление...

Кейс Клаудмастер: как редизайн интерфейса управления облачных бюджетов увеличил глубину сессии в 5 раз

Кейс Клаудмастер: как редизайн интерфейса управления облачных бюджетов увеличил глубину сессии в 5 раз

Иногда проблема продукта не в том, что он не нужен, а в том, что им невозможно пользоваться.Это история про рейдизайн (и немного рефакторинг) раздела управления облачными расход...

1,5 года ожиданий впустую? Intel Core Ultra 200S Plus и 200HX Plus

1,5 года ожиданий впустую? Intel Core Ultra 200S Plus и 200HX Plus

В 2024 году Intel представили линейку Intel Core Ultra 200S Arrow Lake-S. Она состоит из пяти процессоров в конфигурации от 14 до 24 ядер. Революционных изменений в продукте не ...

Внешность древнего вида Человека, 1 600 000 — 1 500 000 лет назад

Внешность древнего вида Человека, 1 600 000 — 1 500 000 лет назад

Для сравнения так же приведу пример реконструкции внешности гоминин, древностью между 330 000 - 146 000 лет назад и краниометрическое изучение жителей Твери, 1700-х годов. ( изм...