Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
Всем привет.
Подскажите такой момент - мне нужно избавиьться в приведенном на картинке коде от всех фильтров на нулл

сказали завернуть в Optional

хрен его знает что имели ввиду

я уже чего только не перепробовал не получается ничего

К сообщению приложен файл. Размер - 42Kb
12 май 20, 14:57    [22131256]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Прикалываеся скрины делать?

Ну и как тебе туда изменнение внести?
12 май 20, 15:01    [22131259]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,щас набью руками- этот код внутри контура- его только скрином)
12 май 20, 15:04    [22131261]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,


List<AuthPersonParner> authPersons = Stream.of(dictionaryResponse)
                .filter(Objects::nonNull)
                .map(GetDictionaryResponse::getReturn)
                .filter(Objects::nonNull)
                .map(DictionaryInfo::getData)
                .filter(Objects::nonNull)
                .filter(dictionaryData -> ! dictionaryData.isEmpty())
                .findFirst()
                .orElse(Collections.emptyList())
                .strem()
                .filter(Objects::nonNull)
                .map(dictionaryData ->AuthPersonBuilder.from(dictionaryData.getColumns()))
                .collect(Collectors.toList());
12 май 20, 15:12    [22131268]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
забыл ник
Member

Откуда:
Сообщений: 3289
Zzz79


я уже чего только не перепробовал не получается ничего


И что конкретно перепробовано?
12 май 20, 15:14    [22131270]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Теперь выкидывай из него все фильтры

Objects::nonNull


Запускай еще раз и говори где упал по NPE.
12 май 20, 15:18    [22131275]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
забыл ник
Member

Откуда:
Сообщений: 3289
mayton
Теперь выкидывай из него все фильтры

Objects::nonNull


Запускай еще раз и говори где упал по NPE.

Возвращаясь к нашему старому обсуждению - в Java, ПОТЕНЦИАЛЬНО может упасть везде.
Тут нет элегантного выхода, без монадных контекстов.
Можно конечно переписать все методы возвращающие данные на optional но как по мне это ничем не лучше чем каждый раз фильтровать на nonNull - та же шляпа. А вот с монадами все было бы круто стильно молодежно
12 май 20, 15:21    [22131277]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,

я не могу это запустить - к сожалению это запускается на стендах и поставить туда дебагер я не могу

тут исключительно в рамках теории везде где будут гетеры -потенциально может быть NullPointer
12 май 20, 15:21    [22131278]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
забыл ник
Zzz79


я уже чего только не перепробовал не получается ничего


И что конкретно перепробовано?

пытался делать лист Optioal но если я туда добавляю в качестве элемента нулл- то естесственно я упаду с нпе

я просто не пойму что от меня хотят- какая разница проверять Object::nonull или Optional.ifPresent
12 май 20, 15:25    [22131281]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
fixxer
Member

Откуда:
Сообщений: 791
Тут два момента, если null это невалидное состояние объекта, то нужно делать так, чтобы оно было невозможным, например делать проверку в конструкторе. Если валидное, то геттер должен возвращать Optional<T> getField() { return Optional.ofNullable(field); } или пустую коллекцию List<T> getCollection() { field == null ? Collections.emptyList() : field; }. Все остальное от лукавого. Скажи своему тимлиду, что он в голову долбится и у него Java 8 головного мозга.
12 май 20, 16:37    [22131366]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Я пока вижу такой cмысл. Мы его обговаривали с месяц назад в этом форуме.
Если какая-то функция map() не может запроцессить значение (падает по исключению
например NumericException) то единственное умное что мы можем сделать это вернуть
Optional.empty() чтоб продолжить процессинг стрима.
12 май 20, 16:46    [22131375]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
chpasha
Member

Откуда:
Сообщений: 9207
fixxer
геттер должен возвращать Optional<T> getField() { return Optional.ofNullable(field); }
Brian Goetz не одобряе

Zzz79
P. S. если я правильно понял, то dictionaryResponse это экземпляр в кол-во 1 штука или нулл, по-этому имхо от тебя хотят чего-то вида
Optional.of(response)
	   .map() 
           //и погнали
12 май 20, 16:59    [22131389]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Второй смысл. Операции агрегации стримов (collect, reduce, flatMap и прочие) по отношению
к потоку опционалов. Если они гладко обрабатывают Optional.isEmpty() (since 11) или
!Optinal.isPresent(since 8) и падает при попадании на пустой объект .
12 май 20, 17:09    [22131398]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
fixxer
Member

Откуда:
Сообщений: 791
chpasha
fixxer
геттер должен возвращать Optional<T> getField() { return Optional.ofNullable(field); }
Brian Goetz не одобряе




Браен пишет ровно то же что и я. Используйте Optional чтобы моделировать случай отсутствия значения в вашем API, а не как drop-in замену проверки на null.

Сообщение было отредактировано: 12 май 20, 18:41
12 май 20, 18:42    [22131458]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
chpasha
Member

Откуда:
Сообщений: 9207
fixxer
Браен пишет ровно то же что и я

неужели? каким чудом у нас

Our intention was to provide a limited mechanism for library method return types where there needed to be a clear way to represent "no result", and using null for such was overwhelmingly likely to cause errors


внезапно превращается в

геттер должен возвращать Optional<T> getField() { return Optional.ofNullable(field); }

или у нас уже getter это library method?

и далее цитата

I think routinely using it as a return value for getters would definitely be over-use

соответственно использование повсеместно Optional в getter-ах не рекомендуется.

кому же верить?
12 май 20, 19:13    [22131485]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
fixxer
Member

Откуда:
Сообщений: 791
chpasha,

хорош передергивать. я не говорил про все геттеры, но лишь про этот конкретный, если мы хотим смоделировать случай отсутствия значения. это именно то о чем пишет Гетц. Библиотека или слой приложения это в данном случае монопенисно.
12 май 20, 19:19    [22131489]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
fixxer
Member

Откуда:
Сообщений: 791
chpasha
I think routinely using it as a return value for getters would definitely be over-use

соответственно использование повсеместно Optional в getter-ах не рекомендуется.

кому же верить?


Ключевое слово тут routinely. Не стоит повсеместно лепить Optional как замену проверки на null. Стоит это делать там, где имеет смысл.
12 май 20, 19:22    [22131496]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
chpasha
fixxer
геттер должен возвращать Optional<T> getField() { return Optional.ofNullable(field); }
Brian Goetz не одобряе

Zzz79
P. S. если я правильно понял, то dictionaryResponse это экземпляр в кол-во 1 штука или нулл, по-этому имхо от тебя хотят чего-то вида
Optional.of(response)
	   .map() 
           //и погнали

именно в итоге я сделал вот это

К сообщению приложен файл. Размер - 34Kb
12 май 20, 20:06    [22131516]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
Жаль не могу проверить это все в действии- так как то что прилетает в этот методо в качестве параметра к сожалению вне нашего доступа ,очень бы хотелось сымитировать нулы

Сообщение было отредактировано: 12 май 20, 20:16
12 май 20, 20:11    [22131519]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
А в чем проблема сымитировать нулы?
12 май 20, 22:53    [22131648]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1119
забыл ник
Возвращаясь к нашему старому обсуждению - в Java, ПОТЕНЦИАЛЬНО может упасть везде.

Аминь, брат.
13 май 20, 04:54    [22131748]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
Zzz79
Всем привет.
Подскажите такой момент - мне нужно избавиьться в приведенном на картинке коде от всех фильтров на нулл

сказали завернуть в Optional

хрен его знает что имели ввиду

я уже чего только не перепробовал не получается ничего


Не истины ради, а флейма для.
Почему не сделать тупо?

List<AuthPersonParner> authPersons = Stream.of(dictionaryResponse).map( s -> Optional.of(s))
...


Далее по тексту

<:o)
13 май 20, 06:48    [22131756]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
mad_nazgul,

Немного ошибся

List<AuthPersonParner> authPersons = Stream.of(dictionaryResponse).map( s -> Optional.ofNullable(s))
...
13 май 20, 07:05    [22131760]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton
А в чем проблема сымитировать нулы?

проблема в том что и этот метод работает в адаптере ,который исключительно на стенде только может получать параметры от другого сервиса через soap к которому у меня вообще нет доступа
тоесть сымитировать что то локально я к сожалению не могу- локально этот сервис даже не запустится
13 май 20, 08:25    [22131781]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mad_nazgul
mad_nazgul,

Немного ошибся

List<AuthPersonParner> authPersons = Stream.of(dictionaryResponse).map( s -> Optional.ofNullable(s))
...

ну я по сути так и сделал только без стрима - он тут лишний получается
13 май 20, 08:26    [22131783]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
Zzz79
mayton
А в чем проблема сымитировать нулы?

проблема в том что и этот метод работает в адаптере ,который исключительно на стенде только может получать параметры от другого сервиса через soap к которому у меня вообще нет доступа
тоесть сымитировать что то локально я к сожалению не могу- локально этот сервис даже не запустится


Э-э-э дичь какая-то.
Что мешает использовать SoapUI, он может имитировать сервис SOAP.
На крайний случай написать свой mock soap-сервис.

Ну а еще лучше Вообще выделить логику в сервис и там через юнит-тесты протестировать...
13 май 20, 11:10    [22131859]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
При чем тут Soap вообще. Это топик не про это. На вход поступает Stream<DictionaryResponse>.

Что мы не можем его замокать?
13 май 20, 11:14    [22131863]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,не можем так как оба сервиса работают в контуре,к которому у меня доступа нет
локально ничего не будет работать- и мокать нечего к сожалению - так как как эти ДТО так же подтягииваются из кафки в контуре

если бы я локально мог запуститься мне ничего бы и мокать не надо было)
14 май 20, 15:57    [22133015]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
(разводя руками)

Я не могу понять как вы тестируете бизнес-логику.
14 май 20, 16:10    [22133027]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
забыл ник
Member

Откуда:
Сообщений: 3289
Zzz79
mayton,не можем так как оба сервиса работают в контуре,к которому у меня доступа нет
локально ничего не будет работать- и мокать нечего к сожалению - так как как эти ДТО так же подтягииваются из кафки в контуре

если бы я локально мог запуститься мне ничего бы и мокать не надо было)

Лол, что? Ты не можешь сделать свой класс с функцией для стримов и скормить ему нужные сделаннные руками DTO? Не говоря о том что ты юнит тест должен на это все написать. Вот так походу банки и пишут софт..
14 май 20, 16:11    [22133029]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mad_nazgul
Zzz79
пропущено...

проблема в том что и этот метод работает в адаптере ,который исключительно на стенде только может получать параметры от другого сервиса через soap к которому у меня вообще нет доступа
тоесть сымитировать что то локально я к сожалению не могу- локально этот сервис даже не запустится


Э-э-э дичь какая-то.
Что мешает использовать SoapUI, он может имитировать сервис SOAP.
На крайний случай написать свой mock soap-сервис.

Ну а еще лучше Вообще выделить логику в сервис и там через юнит-тесты протестировать...

чтобы что то сымитировать нужно знать что )
к данному супу у меня нет доступа чтобы даже wsdl получить

все что у меня есть это лишь урл ,который я должен в конфигах прописать по которому будет ходить мое приложение на стенде в контуре и там уже получать xml)
14 май 20, 16:16    [22133038]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5288
Zzz79

чтобы что то сымитировать нужно знать что )
к данному супу у меня нет доступа чтобы даже wsdl получить


Тогда пинаем аналитиков до полного просветления.
Чтобы они добыли описание сервиса.

Zzz79

все что у меня есть это лишь урл ,который я должен в конфигах прописать по которому будет ходить мое приложение на стенде в контуре и там уже получать xml)


Опять же пинаем аналитиков.
Используем SAX для обработки XML.
15 май 20, 05:23    [22133377]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Zzz79,
Ты 5 раз сказал что невозможно подготовить тестовый стрим по примеру выше.
И все 20 человек тебе не поверили.
Вывод?
15 май 20, 06:13    [22133385]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Мне известна политика которую ведут топовые инвестиционные банки Европы по отношению
к разработчикам аутсорсинга. Большинство из них сидят на удалёнке и работает через RDP.
Скачать ничего нельзя. Все сорцы и дата лежат на серверах Евросоюза. Там есть пункт
в требованиях по хранению данных.

Но даже там есть какой-то план тестирования веб-сервисов который не запрещает нам
попросить у бизнеса WSDL или готовый Jar-ник из внутреннего репо и спокойно
покрывать его тестами. А уже в фазе QA и аксептенса - он просто пройдет финальные
стадии проверки. Но 80% работы вполне можно сделать на модульном тестировании
и я не понимаю в чем там сложность у автора.

Просто можно констатировать что если ему не дают доступов то.... возможно ему
и не надо это разрабатывать. Есть принцип минимального знания. Principle Of Least Knowledge.
15 май 20, 10:15    [22133492]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
WGA
Member

Откуда:
Сообщений: 401
забыл ник
Zzz79
mayton,не можем так как оба сервиса работают в контуре,к которому у меня доступа нет
локально ничего не будет работать- и мокать нечего к сожалению - так как как эти ДТО так же подтягииваются из кафки в контуре

если бы я локально мог запуститься мне ничего бы и мокать не надо было)

Лол, что? Ты не можешь сделать свой класс с функцией для стримов и скормить ему нужные сделаннные руками DTO? Не говоря о том что ты юнит тест должен на это все написать. Вот так походу банки и пишут софт..
Именно так и пишут... Исправили, задеплоили на прод, посмотрели логи, заработало чи шо )
16 май 20, 09:35    [22134071]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
WGA,
-1
16 май 20, 10:00    [22134079]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
PetroNotC Sharp
Zzz79,
Ты 5 раз сказал что невозможно подготовить тестовый стрим по примеру выше.
И все 20 человек тебе не поверили.
Вывод?

отстали от жизни или не работали на удаленке в банковской сфере?
18 май 20, 18:47    [22135232]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,
ну это да- нам дают самый минимум из того что нужно знать
по итогу даже wsdl ты никогда не получишь- максимум это спеки где написано ждем от вас на вход код 1 и код 2

тоесть писать в данном случае мок было бы бесполезно ,так как ошибка была на стороне партнеров - они ожидали на вход не то что мы им давали и проверить это никакими тестами на моей стороне было не возможно)

по итогу они ждали <>SomeCode:12431341343<>
но забыли сделать выдачу по запросу с этим кодом)
в итоге мы получали пустой список хотя нас уверяли что все работает))
18 май 20, 18:53    [22135236]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
забыл ник

Лол, что? Ты не можешь сделать свой класс с функцией для стримов и скормить ему нужные сделаннные руками DTO? Не говоря о том что ты юнит тест должен на это все написать. Вот так походу банки и пишут софт..

и что мне это даст?
я не могу отестировать то,не знаю что - так как разработчиком сервиса с SOUP протоколом являемся не мы и одному богу известно было что они там ждут на вход и что отдают на выход)
есл и бы я написал юнит тест и скормил ему правильное дто это бы мне ничего не дало- так как проблема оказалась на стороне разработчиков стороннего сервиса- которые не добавили нужный фукционал в свой сервис
18 май 20, 18:57    [22135239]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
У тебя топик-то начался с вопроса проверок на null.

Это чисто утилитарный вопрос и он 100% решался на модульных тестах. Но ты видимо просто
не всё описал в начале.
18 май 20, 19:00    [22135241]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4832
Zzz79
PetroNotC Sharp
Zzz79,
Ты 5 раз сказал что невозможно подготовить тестовый стрим по примеру выше.
И все 20 человек тебе не поверили.
Вывод?

отстали от жизни или не работали на удаленке в банковской сфере?
))))
18 май 20, 19:02    [22135242]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
забыл ник
Member

Откуда:
Сообщений: 3289
Zzz79

и что мне это даст?.

Уверенность в том что твой код работает правильно. На этом можно было бы и закончить, но так как ты джун то возможно еще можно успеть вбить в голову нормальные практики пока банк окончательно не растворил твой мозг.

Zzz79

я не могу отестировать то,не знаю что - так как разработчиком сервиса с SOUP протоколом являемся не мы и одному богу известно было что они там ждут на вход и что отдают на выход)

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

Zzz79

есл и бы я написал юнит тест и скормил ему правильное дто это бы мне ничего не дало- так как проблема оказалась на стороне разработчиков стороннего сервиса- которые не добавили нужный фукционал в свой сервис

В нормальных конторах до тебя бы и дело не дошло, если есть спека и тесты на нее.
18 май 20, 19:07    [22135245]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
забыл ник,хорошо ты живешь видимо))

я вот сейчас открываю дто в кафке - там написано someShitFIO

и джава док к этому - человек без доступа к системе

ну я как праведный джун иду с вопросом - нужно ли писать валидацию под то что someShitFIO не сотрудник банка)
мне ПМ пишет - тебе пофиг кто это - тебе его дали заноси в базу
я говорю тогда комент джава док изменить? - они говорят ничего изменять не надо))

просто в энтерпрайзе я уже понял отсутвует какая то здравая логика и смысл)

все что надо это делать таски из джиры и не задавать вопросов)

пс.пишу скрипты в одном сервисе - create table auth_person_some_shit

потом такие же в другом сервисе

первый пр прошел
во втором пишут ой пелять шо за название таблицы у нас почти есть такой )

хотя в первом пр были теже таблы
18 май 20, 20:18    [22135289]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
забыл ник
Zzz79

и что мне это даст?.

Уверенность в том что твой код работает правильно. На этом можно было бы и закончить, но так как ты джун то возможно еще можно успеть вбить в голову нормальные практики пока банк окончательно не растворил твой мозг.

Zzz79

я не могу отестировать то,не знаю что - так как разработчиком сервиса с SOUP протоколом являемся не мы и одному богу известно было что они там ждут на вход и что отдают на выход)

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

Zzz79

есл и бы я написал юнит тест и скормил ему правильное дто это бы мне ничего не дало- так как проблема оказалась на стороне разработчиков стороннего сервиса- которые не добавили нужный фукционал в свой сервис

В нормальных конторах до тебя бы и дело не дошло, если есть спека и тесты на нее.
18 май 20, 20:19    [22135290]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
забыл ник
Zzz79

и что мне это даст?.

Уверенность в том что твой код работает правильно. На этом можно было бы и закончить, но так как ты джун то возможно еще можно успеть вбить в голову нормальные практики пока банк окончательно не растворил твой мозг.

Zzz79

я не могу отестировать то,не знаю что - так как разработчиком сервиса с SOUP протоколом являемся не мы и одному богу известно было что они там ждут на вход и что отдают на выход)

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

Zzz79

есл и бы я написал юнит тест и скормил ему правильное дто это бы мне ничего не дало- так как проблема оказалась на стороне разработчиков стороннего сервиса- которые не добавили нужный фукционал в свой сервис

В нормальных конторах до тебя бы и дело не дошло, если есть спека и тесты на нее.


хорошо ты живешь видимо)) у меня возможности кого то послать на хутор нет) и мы подстраиваемся под партнеров обычно
если им лень у себя дать нам код ,который нам нужен - мы пишем свой мапер сами,а я говорю нах нам их внтуренние коды -мне ты чо окуел это же плять банковский сервис))а мы типо так какое то гумно на палке)
18 май 20, 20:21    [22135292]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Zzz79

хорошо ты живешь видимо)) у меня возможности кого то послать на хутор нет) и мы подстраиваемся под партнеров обычно
если им лень у себя дать нам код ,который нам нужен - мы пишем свой мапер сами,а я говорю нах нам их внтуренние коды -мне ты чо окуел это же плять банковский сервис))а мы типо так какое то гумно на палке)

Ничего. Вот закончится крЫсис.

Забуреешь. Станешь синьором-помидором. И тогда будешь вакансии периберать.
То - хочу. Это нехочу...

А пока - стиснув зубы... Е6аш код....
18 май 20, 20:29    [22135300]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,

код е6ашу дай бог- все трудности только в бизнес процессах в основном,но бывают и нюансы
недавно писал что то там метод и проверка сначала на !null затем на instanseOf

угадай где ошибка)
18 май 20, 20:33    [22135302]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Ну это equals().

Сначала проверил что нет пустоты. Потом - инстанс. Не?
18 май 20, 20:36    [22135308]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton,
вот видишь ) не знаешь)
а оказывается все просто
зачем проверять на null если insatseOf работает с null
и если реквеста нет ( null) то он арпиори не может быть instanseOf someShitIterface

и вместо двух проверок будет лишь одна request istanseOf someShitInterface
18 май 20, 20:39    [22135312]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Шикардос. Прошёл собес у меня. Держи краба.
18 май 20, 20:49    [22135318]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
mayton
Шикардос. Прошёл собес у меня. Держи краба.

Высылай офер ,я заепся за 32 тыщи работать)
18 май 20, 21:11    [22135329]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Нет. Со мной - только на волонтёрские проекты.
18 май 20, 21:29    [22135334]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
забыл ник
Member

Откуда:
Сообщений: 3289
Zzz79
забыл ник,хорошо ты живешь видимо))

я вот сейчас открываю дто в кафке - там написано someShitFIO

и джава док к этому - человек без доступа к системе

ну я как праведный джун иду с вопросом - нужно ли писать валидацию под то что someShitFIO не сотрудник банка)
мне ПМ пишет - тебе пофиг кто это - тебе его дали заноси в базу
я говорю тогда комент джава док изменить? - они говорят ничего изменять не надо))

просто в энтерпрайзе я уже понял отсутвует какая то здравая логика и смысл)

все что надо это делать таски из джиры и не задавать вопросов)

пс.пишу скрипты в одном сервисе - create table auth_person_some_shit

потом такие же в другом сервисе

первый пр прошел
во втором пишут ой пелять шо за название таблицы у нас почти есть такой )

хотя в первом пр были теже таблы

Все так. и как сказали, терпи пока джун.
Другое дело что в приведенном коде было очевидно где проверки на нулл, какие свойства в стриме опрашиваются и тд. На каждый такой кейс ты должен был молча написать юнит тест, а не доказывать что ты не можешь. Да, ты не словил бы все ошибки, но все очевидное покрыл бы, вот и все. Не впитывай этот говно стиль, а то не найдешь нормлаьную работу
18 май 20, 21:33    [22135340]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
Zzz79
Member

Откуда:
Сообщений: 168
забыл ник,
я стараюсь по возможности абстрагироваться от текущего проекта)

я понимаю что тот проект - который пилят несколько десятков галлер априори не может быт адекватен )
странно что банковские это не понимают(видимо экономия в пару копеек закрывает на это глаза)


пс.последнее что меня выбесило- я пишу одному из наших дармоедов( аналитику) дай ка мне заявку ( json готовый)
чтобы я постетил интеграцию шо я написал)

знаешь что мне выдал этот птушник) - типо давай как сам учись заявки создавать ,чтоб мы с тобой на одном языке говорили)

при этом неделю назад он же просил создать директорию в портейнере ,так как не осилил линукс команду mkdir)

Сообщение было отредактировано: 18 май 20, 21:50
18 май 20, 21:51    [22135355]     Ответить | Цитировать Сообщить модератору
 Re: Stream API избавиться от проверок на нул используя обертку Optional  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Zzz79

я понимаю что тот проект - который пилят несколько десятков галлер априори не может быт адекватен )
странно что банковские это не понимают(видимо экономия в пару копеек закрывает на это глаза)

На самом деле ситуация когда писала одна команда (внутренние) а потом стала дописыватть другая (аутсорс)
это нормальная и обыденная ситуация для ентерпрайза. У толстого бизнеса - своё видение проблем и они
меряют его в очень больших деньгах и рисках. И мнение одного частного разработчика их конечно не интересует.

Но КМК после "распила" миллиардов в "Пеcочной-кременной Долине" - эти наши мелкие распилы кажутся
не столь значимыми.
19 май 20, 11:08    [22135586]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Java Ответить