Как стать автором
Обновить

Комментарии 2

Плюсы:

Безопасность типов для значений, допускающих null, генерация отдельного типа сообщений для значений, допускающих null.

Явная установка null

По мне так очень сомнительные "плюсы". Привык к тому что null это еще одно специальное значение, и его можно использовать в зависимости от требуемой логики. И то что нужны "пляски с бубном" для передачи null — это минус.


И что значит?


Null — перепутано с другим значением.

Перепутано кем и с чем? Может это просто бага в логике/коде? Тогда это надо фиксить в соответсвующих местах.


проверяйте ее на пустоту с помощью стандартных библиотек

А кто сказал, что пустая строка не является валидным значением? Зачем добавлять какой-то странный интеллект в транспортный уровень? Его задача передать значения как есть, я не прав?

Пожалуй, соглашусь с предыдущим комментарием.


null может обозначать разные вещи в разных контекстах

Мне наиболее близка интерпретация вида null - это null. То есть, значение отсутствует. По умолчанию/перепутано — выглядит как антипаттерн, можно просто избегать этого при сериализации данных.


Это здорово, что производится попытка продумать возможные ошибки, но перенос логики на уровень транспорта вносит излишнюю сложность.


Паттерн has помогает проверить наличие значения для непримитивных типов. Для примитивных можно обходиться значением по умолчанию. Да, бывают случаи, когда сложно отличить значение по умолчанию от его отсутствия. Но это, опять же, зависит от получателя данных и на его стороне было бы проще это решать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий