[Перевод] Система типов — лучший друг программиста
Я устал от одержимости примитивами и от чрезмерного использования примитивных типов для моделирования функциональной области.
Значение в string не лучший тип для записи адреса электронной почты или страны проживания пользователя. Эти значения заслуживают гораздо более богатых и специализированных типов. Мне нужно, чтобы существовал тип данных EmailAddress, который не может быть null. Мне нужна единая точка входа для создания нового объекта этого типа. Он должен валидироваться и нормализироваться перед возвратом нового значения. Мне нужно, чтобы этот тип данных имел полезные методы наподобие .Domain() или .NonAliasValue(), которые бы возвращали для введённого foo+bar@gmail.com значения gmail.com и foo@gmail.com. Эта полезная функциональность должна быть встроена в эти типы. Это обеспечивает безопасность, помогает предотвращать баги и существенно повышает удобство поддержки.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- OSINT для ленивых. Часть 8: GEOINT по фото за 3 минуты
- MarketingNews: Кейс: «Призы от всего атомного сердца». как «Пятёрочка» создала фиджитал-вселенную с Atomic Heart и переосмыслила механику промоакций
- Как я собрал себе C2 на малинке за один вечер
- Краткая история биометрии: как была изобретена идентификация по радужке глаза
- Мыслепреступление на Android: как скрыть Перехватчик трафика от Государственных приложений
- Хак сортировки новостей по цифровому коду (Плагин для DLE 13-19.1)
- Путаница в уязвимостях WSUS: ставим все на свои места
- Хостеры против VPN: что на самом деле скрывают поправки “Антифрод 2.0”
- Как я чуть не потерял свои скрипты из-за того, что РКН и Telegram не поделили IP-адреса
- Sber X-TI: разбираем бесплатную платформу кибербезопасности от Сбера