@kotlin_lang

Страница 219 из 982
Egor
27.06.2017
12:21:20
ну я на андроиде последнее время, потому про себя говорю

Михаил
27.06.2017
12:40:16
ну кстати удобнее чем пирамидка в 10 строк

Egor
27.06.2017
12:41:22
обычно они логики не несут, просто маркеры, потому читабельность кода не упадет, если в строки писать

Google
Руслан
27.06.2017
13:03:55
@[Test DisplayName("? Komodo Test")] fun test() { // ... }

вот так можно еще писать

Dmitry
27.06.2017
13:18:33
или так @Test fun `? Komodo Test`() { ... }

Quantum Harmonizer
27.06.2017
13:19:39
Называл я когда-то аннотации смайликами, проект не собрался.)

Руслан
27.06.2017
13:29:40
или так @Test fun `? Komodo Test`() { ... }
Ну это частный случай, я хотел показать синтаксис объявления нескольких аннотаций

Михаил
27.06.2017
13:32:54
Ну это частный случай, я хотел показать синтаксис объявления нескольких аннотаций
Ну по факту там не особо было понятно, что был показан синтаксис нескольких аннотаций (никому не в обиду)

По крайней мере лично до меня только сейчас дошло, что вообще там было написано

Руслан
27.06.2017
13:36:27
это кстати из junit 5

Михаил
27.06.2017
13:37:44
это кстати из junit 5
А, ну тогда это просто отсутствие у меня опыта работы с junit 5

Руслан
27.06.2017
13:38:53
Ну в общем суть в том, что вместо @Provider @Singleton fun f() {} можно написать @[Provider Singleton] fun f() {}

Руслан
27.06.2017
13:39:40
Можно например так группировать аннотации от разных фреймворков

Egor
27.06.2017
13:39:45
https://github.com/ApplePride/PIDOR

Google
Quantum Harmonizer
27.06.2017
13:40:01
Руслан
27.06.2017
13:40:14
Можно например так группировать аннотации от разных фреймворков
Например если у вас смешаны аннотации jackson и jpa.

Михаил
27.06.2017
13:41:12
Ну в общем суть в том, что вместо @Provider @Singleton fun f() {} можно написать @[Provider Singleton] fun f() {}
однако хорошая экономия места с 4-5 аннотациями и местами даже улучшение читабельности

Pavel ?
27.06.2017
13:46:32
Ребят, что случилось с интеропом с жабой? Раньше обертка интерпретировалась как нулевой тип, а сейчас уже нет...?!?

jacoder
27.06.2017
13:47:40
Обертка?

Pavel ?
27.06.2017
13:48:48
Integer к примеру

Михаил
27.06.2017
13:49:05
Ну не факт что она налб

jacoder
27.06.2017
13:49:18
Может на стороне жавв пометили как NonNull?

Михаил
27.06.2017
13:49:20
Раньше это до релиза котлина?

Pavel ?
27.06.2017
13:49:33
ага

jacoder
27.06.2017
13:49:33
Не очень понял вопрос

Pavel ?
27.06.2017
13:50:10
теперь, возможно в нулевом обьекте, можно напрямую вызывать филд...и ловить must not be null

что как бы не заходит

Pavel ?
27.06.2017
13:53:05
да

Михаил
27.06.2017
13:53:19
да
Раньше это когда?

Pavel ?
27.06.2017
13:53:34
на 1.1.2

Gregory
27.06.2017
13:53:37
Так это с 1.0 так

Михаил
27.06.2017
13:53:44
++++

Google
Михаил
27.06.2017
13:53:49
Ребят, что случилось с интеропом с жабой? Раньше обертка интерпретировалась как нулевой тип, а сейчас уже нет...?!?
ну Бреслав в одном выступлении говорил, что если хочешь дружить с языком, то нужно ему доверять

Igor
27.06.2017
13:54:19
А может кто-то за expose пояснить? Можно ли update-get объединить как-то?

Igor
27.06.2017
13:54:25
или update-select

Михаил
27.06.2017
13:54:46
языку то можно доверять)) а жабе то нельзя))
ну котлин с джавой дружит, как же дружить и не доверять?

Михаил
27.06.2017
13:55:20
на 1.1.2
В 1.1.2 это должно было быть Integer!

jacoder
27.06.2017
13:55:28
Из джавы может придти все что угодно)

Михаил
27.06.2017
13:55:42
Если не стояло аннотации налбл или ноннал

jacoder
27.06.2017
13:55:54
Еще часто вылезают unchecked exceptions

Из котлина не видно, может ли метод бросить исключение. Кому как, мне неудобно

Михаил
27.06.2017
13:56:50
Из джавы может придти все что угодно)
Вот тут Бреслав объяснил, почему T!, а не T? https://www.youtube.com/watch?v=LWFx4QWrTyo

Pavel ?
27.06.2017
13:56:55
терь надо нулиблы везде ставить

Михаил
27.06.2017
13:57:24
терь надо нулиблы везде ставить
Не теперь а с версии 1.0 как минимум

Про дорелизные не могу сказать не юзал

Михаил
27.06.2017
13:57:42
терь надо нулиблы везде ставить
по идее, это надо было делать всегда )

Pavel ?
27.06.2017
13:58:19
Вот тут Бреслав объяснил, почему T!, а не T? https://www.youtube.com/watch?v=LWFx4QWrTyo
ааа...совместимость с остальными платформами в ущерб жабе

Про дорелизные не могу сказать не юзал
до моего отпуска, а это было месяц назад, был Integer?, а щас Integer! )))

Михаил
27.06.2017
13:59:12
ааа...совместимость с остальными платформами в ущерб жабе
нет, скорее непонятка при получении ArrayList<String> из джавы

до моего отпуска, а это было месяц назад, был Integer?, а щас Integer! )))
мне вот тоже казалось, что где-то месяц назад из джавы приходил Integer?

jacoder
27.06.2017
14:00:27
Приходил, кажется

Google
Михаил
27.06.2017
14:00:30
Но видео еще в марте выложено, так что хз

Руслан
27.06.2017
14:02:23
Из котлина не видно, может ли метод бросить исключение. Кому как, мне неудобно
Ну тут такое, если бы в джаве были бы только чекед эксепшены то это было верно, а так получается в любом случае нужно включать голову, даже если метод декларует что кинет что-нибудь)

Т.е. правило простое - внешнему миру доверять нельзя, только своему коду

jacoder
27.06.2017
14:02:51
Сейчас вызов метода на T! вызовет исключение в рантайме?

Gregory
27.06.2017
14:03:09
Но видео еще в марте выложено, так что хз
В марте... На год ещё глянь: новости уже больше года.

Михаил
27.06.2017
14:07:30
Igor
27.06.2017
14:07:38
Из котлина не видно, может ли метод бросить исключение. Кому как, мне неудобно
А знаешь что в Java можно бросить checked исключение из метода где они не прописаны ? Checked Exceptions это вообще наверное самое неудачное решение (хотя в 95 может было и норм)

Admin
ERROR: S client not available

Quantum Harmonizer
27.06.2017
14:08:45
Одно дело — в языке, другое — в байт-коде.

Igor
27.06.2017
14:08:59
ну смотри, если бы в языке были только чекед, и нельзя было бы из байткода чернь делать)
ChEx это НЕ функционально, Result<T> смотрится лучше и в сигнатуре все видно (а еще и монадок отсыпать)

Quantum Harmonizer
27.06.2017
14:09:18
RuntineException и производные что ли?
нет, можно обмануть проверку и бросить настоящие checked exceptions

с помощью стирания

Руслан
27.06.2017
14:09:38
В байткоде можно, в компиляторе можно

jacoder
27.06.2017
14:09:42
Ужос

Руслан
27.06.2017
14:09:46
unsound эта джава

Quantum Harmonizer
27.06.2017
14:10:25
unsound эта джава
ну хорош, норм язык же

есть проблемы, старость не радость, но тем не менее

Руслан
27.06.2017
14:10:36
ChEx это НЕ функционально, Result<T> смотрится лучше и в сигнатуре все видно (а еще и монадок отсыпать)
ну тогда нужны и нормальные ФП примочки, чтобы функционально работать с Result

Google
Gregory
27.06.2017
14:10:46
Checked Exception хороши в бизнес слое. Благодаря ним ты явно решаешь, что делать с проблемой: решать здесь и сейчас, либо делегировать вышестоящему уровню. Как раз Checked Exceptions мне помогают в разработке крупных информационных систем с нетривиальной бизнес-логикой.

jacoder
27.06.2017
14:11:34
Если я не ошибаюсь, это нарушает какой-то принцип проектирования

jacoder
27.06.2017
14:12:07
Изменение сигнатуры дочернего метода вызывает изменение родительского, что плохо

Руслан
27.06.2017
14:12:27
Ну или MyCompanyBusinessException(e)

Pavel ?
27.06.2017
14:12:47
@HeapyHop что за щит с типами из жабы?

у нас же продакшен по пизде пойдет)))

Руслан
27.06.2017
14:13:18
@HeapyHop что за щит с типами из жабы?
Я вообще не понимаю о чем ты :) Покажи наглядно что поменялось, потому что ничего не менялось

Михаил
27.06.2017
14:14:09
@HeapyHop что за щит с типами из жабы?
как вариант, может у компилятора в какой-то версии помутнение было?

Pavel ?
27.06.2017
14:14:23
class Fuck{ private Integer fuck; ...геттеры сеттеры }

раньше можно было только так Fuck()?.fuck

а сейчас Fuck().fuck и если фак=нуль то тогда вылетаем в IllegalStateException

вот и вопрос вота фак?

Quantum Harmonizer
27.06.2017
14:17:16
а сейчас Fuck().fuck и если фак=нуль то тогда вылетаем в IllegalStateException
Во-первых, и сейчас можно ?, а, во-вторых, ISE — о другом.

Quantum Harmonizer
27.06.2017
14:18:08
как?
Так же, как раньше.

Pavel ?
27.06.2017
14:18:18
Так же, как раньше.
всеравно иллегал

? animufag ?
27.06.2017
14:18:24

Страница 219 из 982