Ayrat
То есть оно там будет лежать только если условие не выполнилось
Критерий
булевы операции с паттернматчингом пытаются скрестить
Ayrat
(точнее выполнилось)
Ayrat
Короче, я запутался при взгляде на это
Критерий
там ещё всякие and и or предлагаются
Ayrat
if (e is not int i) { //Здесь i доступно? } else { // Здесь вроде ок } //А здесь?
Ayrat
Фича говна какая-то
Критерий
да ну везде оно доступно, просто если что default :3
Критерий
(на самом деле не знаю)
Ayrat
Прям robust design
Критерий
дали вам гварды when (у кэтчей и в свичах). используй гварды! не хочу гварды, хочу говно жрать
Критерий
public static LifeStage LifeStageAtAge(int age) => age switch { < 0 => LifeStage.Prenatal, < 2 => LifeStage.Infant, вот ещё кусок
Критерий
bool IsValidPercentage(object x) => x is >= 0 and <= 100 or // integer tests >= 0F and <= 100F or // float tests может надо им active patterns подсказать, даже не знаю
Vladimir
Еще с утра прочитал что ввели новый тип аллокации, через POH :)
Vladislav
Возможно, одумаются,но потом
Возможно когда-нибудь тсарпалис станет пмом дотнета
Vladislav
Ну он уже в мс в дотнете....
Vladislav
Пока
Критерий
меня уже долго мучает вопрос, почему: interface I { int P { get; } } class C : I { public int P { get; set; } } // так можно class B { public virtual int P { get; } } class C : B { public override int P { get; set; } } // а так нельзя
Критерий
понятно, что надо бы написать public int P { override get; set; }
Критерий
может и логично, но как добавить сеттер?
Mikhαil
может и логично, но как добавить сеттер?
Суть в том чтобы ты не добавлял сеттер как раз
Критерий
почему нет-то?
Mikhαil
почему нет-то?
Ну я на уровне проектирования полей уже определил нужны мне сеттеры или нет. Мне кажется так проще целостности добиться. А так я сделал класс, все там провалидировал, а потом пришёл человек и такой «отнаследуюсь и ебану сеттеры в обход всего» условно
Критерий
sealed сделай
Mikhαil
sealed сделай
Зачем мне его делать силд? Я не хочу запрещать от него наследоваться.
Критерий
на проперте
Критерий
и вообще, зачем оно тогда виртуальное, если не хочешь, чтобы оверрайдили?
Mikhαil
и вообще, зачем оно тогда виртуальное, если не хочешь, чтобы оверрайдили?
Так может я допускаю что логика в гете может поменяться. Мир же не только из автопроперти состоит
Mikhαil
В общем не знаю. Но если я не добавил сет то мне кажется логичным что его нельзя добавить потом)
Критерий
вот я и хочу её поменять. заодно автопроперти прикрутить. а может и не авто, более хитрое, но этого я всё равно не могу сделать, просто потому что пошёл я нахе^W^W^Wотсутствует гранулярность контроля доступа
Критерий
а сет - нет
Mikhαil
а сет - нет
Потому что его нет
Mikhαil
В принципе
Критерий
хочу добавить
Anonymous
Anonymous
когда коллеги на работе пишут ОчИнЬ ТиПиЗиРоВаНнО
Dr. Friedrich
В данный момент джава чуть разумнее развивается, чем современный шарп, которой движется в каком-то страшном направлении
Джава просто пытается наверстать то, чего в ней нет, а в дотнете есть. Самые большие и клёвые фичи — это нормальный пинвок и value types. Посмотрим, что будет дальше.
Dr. Friedrich
В сишарпе какой-то ад
В сишарпе всё делают очень круто и почти всё — правильно, пусть продолжают.
Dr. Friedrich
Паттерн-матчинг и рекорды вроде бы норм планируются.
Мне это не кажется супер полезными фичами.
Ayrat
В сишарпе всё делают очень круто и почти всё — правильно, пусть продолжают.
Если тебя держат в заложниках и отобрали паспорт, моргни правым глазом
Doge
В сишарпе всё делают очень круто и почти всё — правильно, пусть продолжают.
Ну вот сорс генераторы и вот это вот обсуждение с магическими args как-то мне не очень нравится.
Doge
Смотрится совсём костылями
Dr. Friedrich
Мне это не кажется супер полезными фичами.
Во-первых, наверное, потому, что я всё равно не пишу на Java, так что мне важнее вещи, которые всю платформу двигают вперёд.
Doge
Во-первых, наверное, потому, что я всё равно не пишу на Java, так что мне важнее вещи, которые всю платформу двигают вперёд.
Ну там разные люди всё же отвечают за правки в платформе и в языке. В платформе ещё интересно будет на project Loom посмотреть
Doge
И на дальнейшее развитие грааля
Dr. Friedrich
Ну а во-вторых, посмотрел я на паттерн-матчинг в C#, даже использую под месту. И, ну, ребят, это никак не тянет на киллер-фичу.
Doge
Ну а во-вторых, посмотрел я на паттерн-матчинг в C#, даже использую под месту. И, ну, ребят, это никак не тянет на киллер-фичу.
Потому что в шарпе он не очень удобно сделан. И без рекордов и АТД его пользова относительно сомнительна
Andrew
Ну а во-вторых, посмотрел я на паттерн-матчинг в C#, даже использую под месту. И, ну, ребят, это никак не тянет на киллер-фичу.
Буквально вчера столкнулся в очередной раз с тем, что нужно несколько стейтментов
Mikhαil
Для бизнесовой разработки оч полезные фичи
Mikhαil
На мой взгляд
Dr. Friedrich
Dr. Friedrich
Ад и содомия.
Andrew
Для бизнесовой разработки оч полезные фичи
Ну на уровне смапить один энам на другой - да, чуть более сложное что то начинается - уже тяжко, приходится старый добрый свитч стейтмент юзать
Doge
Так а ты видал, как в жаве будет? Так же, как в шарпе, но через instanceof
Синтаксис так себе для if'ов, но у свитча он сойдёт. Главное, что вместе с этим будут АТД и рекорды.
Mikhαil
Ну на уровне смапить один энам на другой - да, чуть более сложное что то начинается - уже тяжко, приходится старый добрый свитч стейтмент юзать
Ну я уже рассказывал - у меня на обработку удачного ответа и бизнес ошибок в cqrs неплохо и довольно симпатично легло. А у нас в бизнес коде много его
Mikhαil
Так что не только для енамов
Igor
Паттерн-матчинг и рекорды вроде бы норм планируются.
имутабельные record без copy метода 🤷‍♀️ - такое
Dr. Friedrich
имутабельные record без copy метода 🤷‍♀️ - такое
Погоди, а там именно так? Где вообще пропозал посмотреть можно?
Doge
имутабельные record без copy метода 🤷‍♀️ - такое
С копи методом не сильно лучше, вот честно.
Dr. Friedrich
С копи методом не сильно лучше, вот честно.
Придётся его генерировать через какой-нибудь простигорсподи ЛОМБОГ
Igor
Погоди, а там именно так? Где вообще пропозал посмотреть можно?
https://openjdk.java.net/jeps/359 Так тот оно уже в 14 релизнулось
Doge
Придётся его генерировать через какой-нибудь простигорсподи ЛОМБОГ
Так можно сразу линзы генерить ломбоком (шучу)
Igor
Придётся его генерировать через какой-нибудь простигорсподи ЛОМБОГ
Есть подозрение что это не выразимо в java языке
Dr. Friedrich
Есть подозрение что это не выразимо в java языке
Что невыразимо? Скопировать иммутабельный объект?
Dr. Friedrich
Жава очень убога, но не настолько.
Doge
Есть подозрение что это не выразимо в java языке
В скале сделано за счёт того, что методы могут иметь любое дефолтное значение для параметра, не только примитивы.
Igor
Что невыразимо? Скопировать иммутабельный объект?
Да, в котлин для этого передается невидимый параметр flags не знаю сможет ли lombok это спрятать
Doge
Тогда copy метод элементарно выражается
Doge
а как это делается на уровне байткода?
Надо смотреть, не проверял как именно реализовали