|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никДебажить stream тоже то еще удовольствие:) Ну наконец-то... есть хоть одна ворчалка :) в адрес stream. Люто бешено ++ ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:21 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никзабыл ник Дело в том, что в setVersions() будет передаваться каждая группа. Простейший случай - 3 энтити(айди по порядку), первая активная. Тогда сначала в версии добавится id=2, а потом id=2 и id=3. Тут фигню написал, поставил брейкпоинт в setVersions, почему то туда сразу 3 entites пришло, две из них с одинаковым айди. Дебажить stream тоже то еще удовольствие:) Все разобрался.. извиняюсь за переполох. Код работает корректно, просто в тесте список переиспользовал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:22 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonзабыл никДебажить stream тоже то еще удовольствие:) Ну наконец-то... есть хоть одна ворчалка :) в адрес stream. Люто бешено ++ Вот согласен, вроде все красиво по итогу, но во-первых 1) сядь продумай алгоритм 2) продебажь 3) если потом появится необходимость изменить немного логику и придет другой человек(да и я сам через месяц) - то будет врубаться полчаса. Хотя может это конечно дело привычки... но пока сильно задумался об использовании стримов на чем-то чуть большем чем stream.sort().map(::ByName).sum(); ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:25 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никДебажить stream тоже то еще удовольствие:) В идею, вроде, уже добавили отладку лямбд. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:30 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
забыл никХотя может это конечно дело привычки... но пока сильно задумался об использовании стримов на чем-то чуть большем чем stream.sort().map(::ByName).sum(); Здесь нет единого стрима. В этом вся сложность. Поэтому первый вариант, самый простой и понятный. Однострочник не может быть самоцелью. Это лишь пример того что можно, но никак не пример того как правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:32 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Мне процесс диагностики багов в стримах напоминает мои разборки с Oracle-SQL курсорами. В работу SQL-машины как правило нельзя воткнуть дебаггер. Можно трассировать работу курсора на очень низком уровне и получать в текстовом файле простыню операций но из личного опыта - этот подход не годится для поиска ошибок. Обычно его используют детектирования узких мест к примеру. Поэтому я делал так. Смотрел на текст курсора. Потом делал предположение что если в предложении WHERE или HAVING в запросе или его подзапросах или inline views что-то убрать (закомментарить) то я 100% должен получить тото или это. Если не получалось - то переходил к другой гипотезе (комментарил еще больше предикатов) и т.д до тех пор пока не локализовывалась ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:39 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Blazkowiczзабыл никХотя может это конечно дело привычки... но пока сильно задумался об использовании стримов на чем-то чуть большем чем stream.sort().map(::ByName).sum(); Здесь нет единого стрима. В этом вся сложность. Поэтому первый вариант, самый простой и понятный. Однострочник не может быть самоцелью. Это лишь пример того что можно, но никак не пример того как правильно. В моем варианте один стрим. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:39 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
fixxerВ моем варианте один стрим. И куча логики в методах. Такой код вообще за гранью. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 16:57 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
BlazkowiczfixxerВ моем варианте один стрим. И куча логики в методах. Такой код вообще за гранью. Ты просто невнимательно его прочитал. Попробуй еще раз. Я, по-сути, лишь реализовал кастомный коллектор, просто собрал его из метод-референсов. Попробуй мысленно заменить их на лямбды и увидишь, что логики тут ровно столько же сколько и в твоем коде. Только тебе приходится пресортить коллекцию, я же разбираюсь по месту и за счет этого обхожусь одним стримом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:09 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
fixxerТы просто невнимательно его прочитал. Попробуй еще раз. Нормально прочитал. fixxerЯ, по-сути, лишь реализовал кастомный коллектор, просто собрал его из метод-референсов. Это я вижу. fixxerПопробуй мысленно заменить их на лямбды и увидишь, что логики тут ровно столько же сколько и в твоем коде. Я не о том вообще. fixxerТолько тебе приходится пресортить коллекцию, я же разбираюсь по месту и за счет этого обхожусь одним стримом. Сколько мне раз нужно в этой теме повторить что это плохой код? Просто это пример однострочника. Твой код на однострочник не претендует вообще никак, так как всё что ты сделал это запихнул логику внутри методов "кастомного коллектора". Это точно такое же безумие как однострочники и лямбды с жирным телом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:21 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
BlazkowiczСколько мне раз нужно в этой теме повторить что это плохой код? Ну, до тех пор пока думаешь, что если повторить много раз, то аргументировать не нужно. No offence. Дело тут не в однострочниках, это не самоцель. Фишка в том, что многие воспринимают Stream API как сахар над коллекциями, забывая, что они несут не только fancy syntax, но и свою семантику, в том числе в рантайме. И переписать исходный код на стримы нужно не потому чтобы красиво код записать, но для того, чтобы убрать квадратичную сложность, явный стейт и прибитую гвоздями однопоточность. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:52 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
fixxerНу, до тех пор пока думаешь, что если повторить много раз, то аргументировать не нужно. No offence. Это про мой однострочник. А не про твой код. А что там аргументировать. Читаемость кода ниже плинтуса. fixxerДело тут не в однострочниках, это не самоцель. Фишка в том, что многие воспринимают Stream API как сахар над коллекциями, забывая, что они несут не только fancy syntax, но и свою семантику, в том числе в рантайме. И переписать исходный код на стримы нужно не потому чтобы красиво код записать, но для того, чтобы убрать квадратичную сложность, явный стейт и прибитую гвоздями однопоточность. Да пофигу и на многопоточность тоже. Чем проще код, тем лучше со всех сторон. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:01 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
BlazkowiczДа пофигу и на многопоточность тоже. Чем проще код, тем лучше со всех сторон. Я думаю, что это до поры до времени. Потом из таких маленьких понятных императивных кусочков вырастает легаси монстр, который невозможно поддерживать и который не масштабируется и не держит нагрузку. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:10 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
А в какой среде лучше всего работать на ней? Просто я только начал учить джаву после си++ ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 23:56 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
VestaBestaА в какой среде лучше всего работать на ней? Просто я только начал учить джаву после си++ Лучше не в среде. Лучше изучить maven и/или gradle (системы сборки приложения) По большому их можно использовать в любой IDE. Но удобнее в IntelijIDEA, но она платная. Поэтому выбирайте любую бесплатную IDE, которая вам приглянется. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 08:34 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
дождались, только зачем было ждать если в .net все это давно есть и выглядит как родное, а тут - ну вроде вместили.. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 15:01 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
breathдождались, только зачем было ждать если в .net все это давно есть и выглядит как родное, а тут - ну вроде вместили.. )) Осталось дождаться когда .NET наконец-то заработает на линуксе и когда MS допилит свою виртуальную машину до уровня Hotspot. Кому нужен язык - берут Scala, а не C#. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 15:23 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
>когда MS допилит свою виртуальную машину до уровня Hotspot. вобще о чем >Кому нужен язык - берут Scala, а не C#. это скорее кому скучно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 15:28 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
breath>когда MS допилит свою виртуальную машину до уровня Hotspot. вобще о чем О забагованности на квадратный сантиметр. Хотя тут, конечно, и Windows тоже не малую роль играет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 16:06 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Blazkowiczbreathдождались, только зачем было ждать если в .net все это давно есть и выглядит как родное, а тут - ну вроде вместили.. )) Осталось дождаться когда .NET наконец-то заработает на линуксе и когда MS допилит свою виртуальную машину до уровня Hotspot. Кому нужен язык - берут Scala, а не C#. Я вот с удивлением узнал что некий программный продукт под названием Microsoft/dotnet выложен в гитхаб со ссылкой https://github.com/Microsoft/dotnet Initial коммит датируется October-2014. Пока не комментирую. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 16:57 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonЯ вот с удивлением узнал что некий программный продукт под названием Microsoft/dotnet выложен в гитхаб со ссылкой https://github.com/Microsoft/dotnet Initial коммит датируется October-2014. Пока не комментирую. Так это старая новость. Они одновременно заявили и про опенсорс и про официальную поддержку в ближайшей мажорной версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 17:04 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Странно. Сорцов не вижу пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 17:09 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
А вот на хабре небольшое пояснение нашёл. Не знаю будет-ли кому полезно. Если нет - то извините. https://habrahabr.ru/post/243065/ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 17:23 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonСтранно. Сорцов не вижу пока. Они в подпроектах: https://github.com/dotnet/corefx/tree/master/src ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 17:28 |
|
|
start [/forum/topic.php?fid=59&msg=39169128&tid=2120495]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 150ms |
0 / 0 |