
Митко Соловец?
10.09.2018
16:51:46
в смысле обработать?
если строка невалидная - сделать ее валидной?
или заменить на другую?

Andrey
10.09.2018
16:52:20
Аргументируй :)
я же говорю в талмуде всё написано. читай. если лень, то коротко чекет искл - это часть сигнатуры, часть контракта, который нужно соблюдать клиенту метода. те это семантика. анчекед - это ситуации зависящие от стихийных сил, те не семантика :)

Google

Денис
10.09.2018
16:52:21

Диоген
10.09.2018
16:52:43

Денис
10.09.2018
16:53:02

Диоген
10.09.2018
16:53:11

Artjom
10.09.2018
16:53:16
Анчекед это тоже часть контракта, но отвечает за проверку этого всего программист, и он должен понять нужно ли ему тут кэтч сделать или прокинуть дальше

Митко Соловец?
10.09.2018
16:53:29
это скала джуны щас так с ума сходят?
типо диогена
старые песни о главном уже который год

Artjom
10.09.2018
16:53:46
Еще фейл чекед эксепшен это работа с ними в стримах... вот тут реальный батхерт у меня

Митко Соловец?
10.09.2018
16:53:47
одно и тоже

Диоген
10.09.2018
16:53:57
Самое интересное, что скала тут вообще ни при чем

Andrey
10.09.2018
16:54:29

Artjom
10.09.2018
16:55:40
Берешь смотришь сигнатуру метода который вызываешь и там все описано

Google

Диоген
10.09.2018
16:55:45
Ладно, я устал.

Andrey
10.09.2018
16:56:26
это контракт хочу делаю хочу не делаю

Денис
10.09.2018
16:57:19
Почему одно - контракт, а второе - нет?

Andrey
10.09.2018
17:00:31
потому что строку потенциально может сделать человек и твоя прога зависит от чел фактора, с файл системой это не так, поэтому контракт закрепл в сигнатуре
чел фактор в данном случае сихийный фактор те не семантика

Sergei
10.09.2018
17:02:34

Artjom
10.09.2018
17:02:50
В контракте да, не обязан быть эксепшен тут зафейлил )

Денис
10.09.2018
17:03:25

Artjom
10.09.2018
17:03:47

Alexey
10.09.2018
17:04:03

Artjom
10.09.2018
17:04:53
нужно ли как-то реагировать на коннекшен таймаут или просто забить на это и ловить ошибку на более высоком уровне ?

Andrey
10.09.2018
17:06:06
зависит от стратегии обраб ошибок. если ты в проге ниче не можешь сделать то просто пробрасываешь на самый верх, потенциально это просто инфо сообще юзеру

Artjom
10.09.2018
17:06:34
окей и если это 4 уровнями выше то на каждом уровне try catch ?

Andrey
10.09.2018
17:06:37
если можешь то обрабатывешь, например делаешь реконект

Денис
10.09.2018
17:07:20
Я реально не пойму, где проложена эта грань в дизайне языка.

Andrey
10.09.2018
17:07:58
нет добавляй искл в сигнатуру и пробрасывай. catch нужно делать только там где осмысленоо можно сделать обработк. врапинг исключений для проброса - это грех

Денис
10.09.2018
17:09:55

Google

Andrey
10.09.2018
17:13:15
Я реально не пойму, где проложена эта грань в дизайне языка.
сокеты - это операционная ситема она может кидать искл как инфа об ошибках. это семантика и это контракт
строку может сделать кто угодно, поэтому невозможно определить контракт. Ты можешь определить класс строки еоторые только числа, тогда искл при паринге такой строки становится семантикой, те чекед

Денис
10.09.2018
17:14:33

Andrey
10.09.2018
17:14:43

Денис
10.09.2018
17:15:55
потому что лишнее усложнее промежуточные бессмысленные враперы
А в контексте какой-то логики может быть не лишним, например.
Условно, у вас есть 5 разных эксепшнов, которые вы хотите обрабатывать где-то на пару уровней выше одинаково - например, как человекочитаемую ошибку, и 2 таких, которые не хотите или не можете (и вы их просто выбрасываете дальше)

Andrey
10.09.2018
17:17:01
сделайте свою иерарх исключений и перехватывайте только те которые нужно

Денис
10.09.2018
17:19:01

Andrey
10.09.2018
17:20:35
либо используй те иерархии которые уже есть. как правило в jdk и в нормальный фреймворках так и сделано. есть общие искл а есть специфичные
прежде чем изобретать велосипед есть смысл посмотреть не изобрели ли его до тебя и пользоваться им

Artjom
10.09.2018
17:23:19
Например вот в нормальном фреймворке спринг - большенство если не все эксепшены - unchecked =D

Andrey
10.09.2018
17:52:12
спринг повсеместно использут иерарх искл jdk. Многие спринговые исключения (производные от NestedRuntimeException) используется в самом спринге в AOP подситеме, где интенсивно герерится код в рантайме поэтому они вынуждены всё врапить в рантайм. Это плата за IoC. Но это проеимущественно внутренняя кухня самого спринга

Vladimir
10.09.2018
18:01:49
вангую, сейчас будет вакансия

Софи
10.09.2018
18:01:57
а подскажите пожалуйста, почему идея может не видеть системные шрифты?
видит только Dejavu

Диоген
10.09.2018
18:02:27

Митко Соловец?
10.09.2018
18:02:50

Софи
10.09.2018
18:03:28
вот так вот ._.
в системе куча шрифтов стоит

Google

Софи
10.09.2018
18:04:12
JDK от Intellij

Диоген
10.09.2018
18:05:14
А шо за линукс у вас?

Софи
10.09.2018
18:05:19
Арч

Dmitrii
10.09.2018
18:06:19
Aleksey ты настоящий?

Диоген
10.09.2018
18:06:39
Арч
https://t.me/archlinux_ru попробуй здесь спроси, я думаю ты не первая с этой проблемой

Митко Соловец?
10.09.2018
18:06:46

Dmitrii
10.09.2018
18:07:15
Жаль, ну лан

Митко Соловец?
10.09.2018
18:07:29

Admin
ERROR: S client not available

Artjom
10.09.2018
18:07:52
Талантливый импостер )

Andrey
10.09.2018
18:22:03
JDK от Intellij
в конфиге идеи (idea.*.vmoptions) попробуйте добавить JAVA_FONTS=/usr/share/fonts/TTF

Alexandr
10.09.2018
19:05:01

Igorek
10.09.2018
19:15:00
зачем зачем в этом мире нужен UML

Mika
10.09.2018
19:24:34

Alexandr
10.09.2018
19:27:02

Igorek
10.09.2018
19:35:17
для адептов Waterfall, да

Alexandr
10.09.2018
19:37:47
Когда у тебя хотя бы 20 сущностей - начинаешь задумываться

Igor
10.09.2018
19:41:11

Alexandr
10.09.2018
19:46:13

Google

Alexandr
10.09.2018
19:47:09
В одном проекте было более 150 сущностей таким образом сделано)

Artjom
10.09.2018
19:47:31
а разработчики в этом не учавствуют ? )
в создании моделей-сущностей

Igor
10.09.2018
19:49:54

Artjom
10.09.2018
19:51:08
тогда - неужели можно так хорошо описать модель что программист поймет о чем это не тревожа бизнес человека попросить описать ему почему вот тут так вот а там туда вот ?

Alexandr
10.09.2018
19:51:27
Обычно разработчики анализируют модель в uml и дают техническую критику, в итоге все друг с другом согласуют. Если разработчики будут еще и всю предметную область сами анализировать и проектировать - их морально не хватит. Это же надо тонны тз, нормативов прочитать, с заказчиком поговорить

Igor
10.09.2018
19:52:33

Alexandr
10.09.2018
19:52:47
Вообще у нас есть идея написания своей тулзы, где по uml и модель нагенерится, и миграции, да еще много чего


Vitalii
10.09.2018
20:08:20
для адептов Waterfall, да
Когда есть самописная лобуда (легаси), похожая на реляционную бд, но на монге и еще с парент-чайлд отношениями практически каждой энтити с любой другой. И все, кто хоть что-то знал о зачатках уже за бортом. Теперь миссия понять как это перевести в реляционный формат, а потом выгрузить ее с памяти.
В общем полезно и девам и БА

Igor
10.09.2018
20:10:12

Igorek
10.09.2018
20:10:41
просто тема в том что если есть UML нужно прикладывать доп усилия по поддержанию ее в актуальном состоянии, а это дополнительные трудозатраты

Vitalii
10.09.2018
20:10:43

Igorek
10.09.2018
20:11:13
и сколько я видел оно сииильно отставало от актуальной кодовой базы

Vitalii
10.09.2018
20:11:57
У меня идея описать его как-то так чтобы и код генерился и юмл
Как в том же хипстере