- 1
- 2
- 3
- 4
- 5
final Optional<Customer> customer = Optional.ofNullable(customerId)
.map(custId -> customerService.getById(custId)
.map(cust -> Optional.of(cust))
.orElseThrow(() -> new NoSuchCustomerException(custId)))
.orElse(Optional.empty());
Что что значит? Кроме того, что я не знаю Java.
получается монада try нинужна.
P.S. Понял, что вернёшь из map, на том и вызовешь .orElseThrow, у Customer его вполне себе не должно быть.
Честно говоря это какой-то позор.
Каждый раз порождать ненужное исключение и надеяться что hotstop его выпилит.
Вот что бывает если зайчатки функцианальщины завезли, а нормальную ленивость ещё не успели.
И так везде...
PS> Оно ж не скопмилится. orElseThrow(Supplier s)
То есть по-javному в первом случае вернуть Optional.empty(), а во втором Optional.of(customer). Эта опциональ разбирается дальше по другим специальным правилам.
Прошу прощения. :)
Когда я говорил что java-8 код станет нечитабельнее все считали что я троллю.
Что из этой таблички уже устарело? А то тут говорят, что жабопетухи соснули.
Разумеется. О реально полезных вещах вроде апгрейда сишкоблядского свитча приличным паттерн-матчингом и замене instanceof они не могут и мечтать.
https://coollib.net/i/95/368295/c9_image002_resz.jpg
Когда отойдёшь от теоретизирования, приступив к написанию реального кода, а также совместной работы над ним (читай: чтение чужих высеров) поймёшь что в 85% новые функцианальные фичи делают код:
а) тормознутым
б) менее читабельным
в) иногда даже больше по размеру (монадки, ко-ко-ко, обёртки обёрток, функции функций).
Все кому были нужны хипстерские фичи, уже много лет как ушли писать на скале/котлине.
Можно уточнить значение термина «серьезное программирование»™?
хипстерские фичи — это убогое ООП, серьёзные дядьки ворочали лямбдами задолго то того, как родились первые апологеты культа Обсрактной Обрезанной Пиписки.
Те дядьки вроде не горели желанием скрещивать лямбды с императивщиной.
>убогое ООП
Дык, у «серьёзных дядек»ⓒ, ООП тоже было задолго до.
Кстати крестоуродца (C with Classes), а за ним и жабу даже ООП назвать нельзя, в хорошем смысле.
Это какая-то отсебячья ересь, за которую ты будешь сожжён на императивном костре.
Нет, за ООП есть теория, при чем много. ООП развивалось параллельно, и в каком-то смысле эквивалентно с логическими проблемами связаными с описанием знаний, ограниченых миров (frame problem). Существует object calculus, который может воспроизвести все те же вычисления, что и lambda calculus. С этим как раз все нормально. Можно спорить о практичности этого подхода для решения конкретных задач, но с теоретической базой тут все хорошо.
Внемли же Его посланиям, и больше не смущай народ лжеучениями.
http://govnokod.ru/16298#comment239220
Кстати нажористый тред про MVC.
O:)
https://github.com/bormand/articles/blob/master/fpga/draw_osc/draw_osc.md
Переведи на "PHP"
Прыщебляди соснули
Поэтому я за "PHP"
Что ещё забыл?
- Нашёл на помойке
- 1000 строк в день (прости, Дефекейт, но это реально кандидат на роль мема!)
- То ли дело С++
- Где здесь С++?
- Анскилябра заедушная
- Тарасоформатирование
- ты файка борманда (это не утверждение сейчас)
- поясните мысль
и конечно же
"ты питух животное"
"Богатый наверное" забыл
"дзенский мастер Питушня", "психоза", "зожатие", "животное питух", "Лурик, я не число", тысячи их.
- не забыл
> "Лурик, я не число"
- ржака. А я такого даже и не помню
- Царский анролл
- J
- , проверь
- Александреску
- фубля. Да и не на ГК это говно появилось и форсилось
У меня даже вешалки дома такой формы.
Но, ИМХО, входить в орал - всё равно, что ходить в гости по утрам.
Ох, как давно я не был на говнокоде... Всё уж быльём поросло.
У тебя вроде как посох должен быть такой формы.
Этот вообще древний. Как и джва стека.
> проверь
Эти 2 сосачерские.
>Что ещё забыл?
WCT. Мне не нравился, но было мемом.
> Optional<Try<Customer, NoSuchCustomerException>>
У такого подхода есть определённые недостатки:
• Создаётся ложное чувство безопасности, customerService всё ещё можно плюнуть каким-нибудь SqlException-ом в лицо в самый неподходящий момент.
• Много синтактического мусора и длинные типы.
• Работать с монадами, завёрнутыми в монады — сомнительное удовольствие, а человеческих трансформеров монад в жабе не сделаешь.
То есть из унылого, но просто языка сделали половинчатую неюзабельную хуйню.
Кстати недавно они сломали пожалуй главную фичу явы: обратную совместимость.
Введя var, и окончательно запрекейтив переменные называющиеся _
p.s. как ты попал сюда?
По ссылке из яндекса. Искал гомосексуальные ресурсы — а попал на Говнокод. Но мне здесь нравится.
Раньше я думал, что он - дефекате, но нет. У них разные характеры.
А вот 3, 14 пишет очень похоже на конардинхо.
Кстати. Что за сервис "amazonaws.com"? Ты же вроде по вебу. Не слыхал? Отчего к нему идёт траффик с мозиллы? Вчера патчил рантайм (xul.dll) забив нулями любые упоминания об амазон, но траффик один хуй прёт. вирусов у меня нет.
https://habr.com/company/infopulse/blog/424369/
Кокококого чёрта список глючных видеокарт зашивают в браузер? Почему он не в драйверах? Почему не в библиотеке DirectX/OpenGL/и т. п.?
Кстати, в комментариях незаслуженно обидели Presto. На самом деле browser.js присутствует и в Хромоопере, а всё из-за глючных сайтов, которые пытаются определить фичи по User-Agent (ещё один антипаттерн).
Файрволл неохота ставить, как и антивирь. Они сейчас шпионажничают ...