@jvmchat

Страница 878 из 2890
guga
17.12.2016
14:53:30
ой что это я, тесты же вперёд

Sergey
17.12.2016
14:53:30
Ну нет, работа по jdbc, с дисковым io тот ещё адок был
ну хз, на пхп нам приходится в докблоках писать какие эксепшены вылететь могут из этого метода, и phpstorm будет заебывать до последнего если ты их не поймаешь на джаве я так радовался что оно проверяется компилятором, а на котлине они взяли и убрали это ?

Google
guga
17.12.2016
14:56:11
просто твои сигнатуры методов станут чище

Luger
17.12.2016
14:56:17
Sergey
17.12.2016
14:56:26
да дело не в ловить. как мне узнать побыстрому какие эксепшены могут прилететь из этого метода?

guga
17.12.2016
14:56:36
доки

ну и сам код.

Dmitry
17.12.2016
14:58:38
Ну передай налл, что ты там с этим опшном потом..

Один раз можно :-)

guga
17.12.2016
14:59:27
Ну передай налл, что ты там с этим опшном потом..
ну тут ещё наследие жабки, те же мапы, вполне могут вернуть налл, что уж там

Антон
17.12.2016
14:59:32
Один раз можно :-)
прямо змий искуситель

guga
17.12.2016
15:01:46
я писал if (value != null), мой отец писал, и его отец, так что и ты пиши, а то посмотрите на него, опшналы захотел, ишь что удумал.

Антон
17.12.2016
15:07:36
я писал if (value != null), мой отец писал, и его отец, так что и ты пиши, а то посмотрите на него, опшналы захотел, ишь что удумал.
ну к слову Optional тоже может быть null и идея постоянно об этом сообщает, а ты уверен что аргумент в этом методе Optional, это же потенциальный NPE,давай по старому, а

Kirill
17.12.2016
15:11:36
Google
Антон
17.12.2016
15:12:04
никтож не мешает

Антон
17.12.2016
15:12:42
не

в аргументах

но в целом да, можно и так )

Dmitry
17.12.2016
15:13:04
в том-то и дело :)

Kirill
17.12.2016
15:13:07
ага,
Ну так не надо так делать :( на самом деле, заметил, что действительно с тех пор как я перестал писать на джаве и пишу на скале, не ловил NPE, только в каких-то джавовских либах с какими-то рефлекшенами типо логгеров, которые сами внутри себя что-то сеттят

Dmitry
17.12.2016
15:13:29
то вы еще в Stream<> не пробовали null передавать наверное

Kirill
17.12.2016
15:14:26
как уже выше написали нормально делай нормально будет
Ну да, так-то можно вообще везде пихать null (кроме примитивов), это уже целенаправленный отстрел ног себе получается :)

Антон
17.12.2016
15:15:30
то вы еще в Stream<> не пробовали null передавать наверное
Collectors.toMap может легко кинуть NPE если значение будет null, не ключ а именно значение

тоесть мапишь ты какой-либо лист с pojo на k->v и вдруг v у тебя null, и ты думаешь да насрать, что будет, в мапе же может значение быть null, и получаешь NPE

Dmitry
17.12.2016
15:17:11
List<Integer> is = Arrays.asList(null, 1,2,3); is.stream().findFirst().ifPresent(System.out::println);

вот что по вашему это вернет?

Антон
17.12.2016
15:17:32
NPE

Kirill
17.12.2016
15:17:41
Антон
17.12.2016
15:17:42
или ничего

Dmitry
17.12.2016
15:17:42
но почему?

Антон
17.12.2016
15:18:01
потому что рукажопы писали )

Kirill
17.12.2016
15:18:15
со stream api всегда так - никогда не знаешь, когда оно достанет дробовик и пальнет тебе в лицо

Google
Alexander
17.12.2016
15:18:16
null стало можно в коллекции класть?

или всегдаможно было

Dmitry
17.12.2016
15:18:26
а почему нет? О_О

Alexander
17.12.2016
15:18:29
хз

Антон
17.12.2016
15:18:32
Dmitry
17.12.2016
15:18:34
добро пожаловать в яву

Kirill
17.12.2016
15:18:41
null стало можно в коллекции класть?
коллекции же из референсов, так почему бы нет

Антон
17.12.2016
15:18:41
)))

еще варианты? )

Dmitry
17.12.2016
15:19:07
варианты?

та херня NPE кинет, да.

потому что findFirst делает Optional.of

Alexander
17.12.2016
15:19:18
всё, вспомнил, что да слишком избалован optional типами в современных языках программирования

Антон
17.12.2016
15:19:21
Dmitry
17.12.2016
15:19:22
какого хера там опшнл тогда не понятно

на случай пустого стрима видимо

Антон
17.12.2016
15:20:02
Dmitry
17.12.2016
15:20:07
йеп

Антон
17.12.2016
15:20:09
не ofNullable

ну ооок

Google
Антон
17.12.2016
15:20:59
но с коллектом меня тоже смутило

не очевидно нифига

Dmitry
17.12.2016
15:22:02
ну и в общем поработаешь так со стримапи, поработаешь с опшнлами, поплачешь что нету either, да и махнешь рукой

но ура, в 9-ой яве теперь есть Optional::stream

Антон
17.12.2016
15:22:54
еще нет каринга

Dmitry
17.12.2016
15:23:10
и Optional::or

каринга много где нет :( но в яве его можно симулировать, правда без lhs инференса это такой будет шум в коде :))

Kirill
17.12.2016
15:24:12
а в котлине есть currying?

Dmitry
17.12.2016
15:24:13
void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)

Admin
ERROR: S client not available

Dmitry
17.12.2016
15:24:14
huehuehue

вроде нет

Kirill
17.12.2016
15:25:03
буэээ

Антон
17.12.2016
15:25:21
Kirill
17.12.2016
15:26:06
лет через 5 там в api будут все возможные комбинации слов if, else, get, or, present

Антон
17.12.2016
15:26:08
но все ‘то выглядит как минимум странно )

вот эти вот CS <-> CF вот прямо раздражает, зачем так сделано, что толку от интерфейса если его можно однозначно привести к имплементации

https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletionStage.html#toCompletableFuture--

Dmitry
17.12.2016
15:29:49
как бе

никто не мешает тебе писать

Google
Dmitry
17.12.2016
15:29:56
Function<Integer, Function<Integer, Function<Integer, Integer>>> sum3 = a -> b -> c -> a + b + c; System.out.println(sum3.apply(2).apply(1).apply(0));

кроме, конечно же, здравого смысла :)

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

Антон
17.12.2016
15:31:56
кроме, конечно же, здравого смысла :)
ну так-то конено не мешает )

Dmitry
17.12.2016
15:32:08
дык был бы lhs inference..

Антон
17.12.2016
15:32:08
как и null вместо Optional передать

Ruslan
17.12.2016
15:33:25
В груви есть каррирование

Dmitry
17.12.2016
15:33:52
:) вот бы там еще типы были

Ruslan
17.12.2016
15:34:36
Они есть. Просто когда предлагаешь их использовать, почему то у другой стороны возникает вопрос: "зачем мне груви без динамики" ))

Dmitry
17.12.2016
15:35:36
ну другая сторона видимо любит рефакторить полным реврайтом проекта

Ruslan
17.12.2016
15:36:28
Я вообще не любитель закладывать груви в ядро

Dmitry
17.12.2016
15:36:44
я вообще удивлен что на нем до сих пор кто-то пишет

Ruslan
17.12.2016
15:37:09
А что тебя удивляет?

Я пока не знаю более гибкого языка

Dmitry
17.12.2016
15:38:07
лисп

Ruslan
17.12.2016
15:38:09
Для jvm

JRuby разве что

Не более но может конкурировать

Dmitry
17.12.2016
15:38:38
ну мы ж на жвм пишем чтоб компилятор ловил как можно больше багов

Ruslan
17.12.2016
15:38:57
Мы пишем чтобы решать задачи

Dmitry
17.12.2016
15:39:31
http://i.imgur.com/OsVN8P5.png

Антон
17.12.2016
15:40:42
Для jvm
clojure

Страница 878 из 2890