История изменений
Исправление vbr, (текущая версия) :
Ты предлагаешь из Java сделать Nullable Java. Выкинуть Optional за ненадобностью, разметить всю программу и полагаться на расширенную линтером систему типов. Я понимаю такой подход, но он противоречит всему, что пытаются делають из Java её разработчики. Если бы они хотели добавить nullable и non-nullable типы в язык, они бы просто это сделали. Это вроде не очень сложно. Но они этого не сделали и непосредственных планов на такое изменение вроде бы не имеют. Поэтому я всё же предпочитаю использовать язык так, как его задумали разработчики.
А помечать что-то аннотациями или, там, в жавадоке писать, линтерами пользоваться, это всё понятно, но это всё идёт уже после всего остального, а не вместо.
К примеру я видел, как люди просто везде засунули Optional. В поля, параметры, в общем везде. null у них вообще нигде не используется. Любое использование null по их стилю кодирования это ошибка (кроме передачи в библиотеки). Везде или requireNonNull или Optional.ofNullable. В принципе валидный подход и у них нормально работал. Тоже интересно. Но противоречит тому, как видят язык разработчики.
Исправление vbr, :
Ты предлагаешь из Java сделать Nullable Java. Выкинуть Optional за ненадобностью, разметить всю программу и полагаться на расширенную линтером систему типов. Я понимаю такой подход, но он противоречит всему, что пытаются делають из Java её разработчики. Если бы они хотели добавить nullable и non-nullable типы в язык, они бы просто это сделали. Это вроде не очень сложно. Но они этого не сделали и непосредственных планов на такое изменение вроде бы не имеют. Поэтому я всё же предпочитаю использовать язык так, как его задумали разработчики.
А помечать что-то аннотациями или, там, в жавадоке писать, линтерами пользоваться, это всё понятно, но это всё идёт уже после всего остального, а не вместо.
К примеру я видел, как люди просто везде засунули Optional. В поля, параметры, в общем везде. null у них вообще нигде не используется. Любое использование null по их стилю кодирования это ошибка (кроме передачи в библиотеки). Везде или requireNonNull или Optional.ofNullable. В принципе валидный подход и у них нормально работал. Тоже интересно.
Исходная версия vbr, :
Ты предлагаешь из Java сделать Nullable Java. Выкинуть Optional за ненадобностью, разметить всю программу и полагаться на расширенную линтером систему типов. Я понимаю такой подход, но он противоречит всему, что пытаются делають из Java её разработчики. Если бы они хотели добавить nullable и non-nullable типы в язык, они бы просто это сделали. Это вроде не очень сложно. Но они этого не сделали и непосредственных планов на такое изменение вроде бы не имеют. Поэтому я всё же предпочитаю использовать язык так, как его задумали разработчики.
А помечать что-то аннотациями или, там, в жавадоке писать, линтерами пользоваться, это всё понятно, но это всё идёт уже после всего остального, а не вместо.