[Перевод] Система типов — лучший друг программиста
Я устал от одержимости примитивами и от чрезмерного использования примитивных типов для моделирования функциональной области.
Значение в string не лучший тип для записи адреса электронной почты или страны проживания пользователя. Эти значения заслуживают гораздо более богатых и специализированных типов. Мне нужно, чтобы существовал тип данных EmailAddress, который не может быть null. Мне нужна единая точка входа для создания нового объекта этого типа. Он должен валидироваться и нормализироваться перед возвратом нового значения. Мне нужно, чтобы этот тип данных имел полезные методы наподобие .Domain() или .NonAliasValue(), которые бы возвращали для введённого foo+bar@gmail.com значения gmail.com и foo@gmail.com. Эта полезная функциональность должна быть встроена в эти типы. Это обеспечивает безопасность, помогает предотвращать баги и существенно повышает удобство поддержки.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- [Перевод] Localhost-атака: как Meta и Яндекс отслеживали пользователей Android через localhost
- Рейтинг Рунета выпустил 34 рейтинга digital-подрядчиков
- Новые атаки GOFFEE: разбор Kill Chain и анализ вредоносного ПО
- Взломают или нет? Оцениваем риски вашей информационной системы и моделируем угрозы
- Один на один с Rust
- Крах Builder.ai: как «революционный ИИ-стартап» оказался скамом из сотен программистов из Индии
- Compass Мессенджер: История Питера Тиля: путь от адвоката до сооснователя PayPal и инвестора, который заработал $1 млрд на Facebook*
- Как торговые сети ищут людей на смены через цифровые платформы и сколько им платят
- Управление уязвимостями: практический гайд по защите инфраструктуры
- Trust & Safety AI Meetup — как это было?