[Перевод] Система типов — лучший друг программиста
Я устал от одержимости примитивами и от чрезмерного использования примитивных типов для моделирования функциональной области.
Значение в string не лучший тип для записи адреса электронной почты или страны проживания пользователя. Эти значения заслуживают гораздо более богатых и специализированных типов. Мне нужно, чтобы существовал тип данных EmailAddress, который не может быть null. Мне нужна единая точка входа для создания нового объекта этого типа. Он должен валидироваться и нормализироваться перед возвратом нового значения. Мне нужно, чтобы этот тип данных имел полезные методы наподобие .Domain() или .NonAliasValue(), которые бы возвращали для введённого foo+bar@gmail.com значения gmail.com и foo@gmail.com. Эта полезная функциональность должна быть встроена в эти типы. Это обеспечивает безопасность, помогает предотвращать баги и существенно повышает удобство поддержки.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Zero Trust не спасёт, пока у вас включён SMBv1
- Claude Sonnet 4, и это самая защищенная модель? Wasted
- Zerotrust по-пацански #2. Как сделать устройство доверенным
- [Перевод] Я завайбкодил и запустил приложение за три дня. И его взломали. Дважды. Вот что я усвоил
- [Перевод] Полный захват аккаунта стоимостью $1000 — Думайте нестандартно
- Почему синтетические данные редко используются в реальных задачах
- [Перевод] Разбор уязвимости умного Bluetooth-замка
- Персональные AI-ассистенты или как открыть любому человеку свою почту и календарь
- Каким будет фишинг в ближайшем будущем
- 82% зумеров хотят, чтобы бренды обращались к ним на «вы»