[Перевод] Система типов — лучший друг программиста
Я устал от одержимости примитивами и от чрезмерного использования примитивных типов для моделирования функциональной области.
Значение в string не лучший тип для записи адреса электронной почты или страны проживания пользователя. Эти значения заслуживают гораздо более богатых и специализированных типов. Мне нужно, чтобы существовал тип данных EmailAddress, который не может быть null. Мне нужна единая точка входа для создания нового объекта этого типа. Он должен валидироваться и нормализироваться перед возвратом нового значения. Мне нужно, чтобы этот тип данных имел полезные методы наподобие .Domain() или .NonAliasValue(), которые бы возвращали для введённого foo+bar@gmail.com значения gmail.com и foo@gmail.com. Эта полезная функциональность должна быть встроена в эти типы. Это обеспечивает безопасность, помогает предотвращать баги и существенно повышает удобство поддержки.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Spark_news: Уфимцы — в первых рядах: мечта о Марсе объединяет 27% россиян
- Почему «99.9% аптайма» – это не то, что вы думаете
- Spark_news: Ozon запустил автолизинг для бизнеса
- Креативное ателье Пинк: Как за 125 часов разработали 60 макетов и доработали концепцию | Поддержали дизайном
- Как меняется клиентская коммуникация в 2025 году и что с этим делать бизнесу
- (Не) безопасный дайджест: БД-экстраверты, новейший ИИ по секрету, поздняя карма от Intel
- Как бот привёл в 2,5 раза больше лидов для застройщика в Telegram Ads
- Spark_news: «Авито» представил сервис онлайн-бронирования авто для таксистов
- Атака через заброшенные бакеты
- Открытая платформа ИБ: как превратить инструментальный зоопарк в единую экосистему