@kotlin_lang

Страница 897 из 982
Sergey
27.09.2018
17:56:41
Igor
27.09.2018
17:56:41
Снаружи прилетело. Из библиотеки, которую писали не вы.
Ну так валидацию надо делать на стыках. Хаскель тоже упадет, если что-то снаружи (хотя тут нужен define "снаружи") прилетит. Ну и пользовать протестированными библиотеками.

Nameless
27.09.2018
17:57:02
о да эти знаменитые тесты для питона на тип возвращаемого объекта, давайте делать работу компилятора вручную

Google
Sergey
27.09.2018
17:57:05
Vladimir
27.09.2018
17:57:54
ты ж пишешь код) если неочевидно - сделай более очевидно
Мне-то как пишущему это может быть и очевидно, а вот когда читаешь такое потом - не всегда

Andrey
27.09.2018
17:58:20
Ну так валидацию надо делать на стыках. Хаскель тоже упадет, если что-то снаружи (хотя тут нужен define "снаружи") прилетит. Ну и пользовать протестированными библиотеками.
Так библиотека протестирована. Просто автор её предполагал, что слон на выходе бывает. Но в питоне у него нет выразительных средств, чтобы это в контракте библиотеки прописать, а в Kotlin/Haskell - есть.

Andrey
27.09.2018
18:00:13
в докблоке можно, но если ты это и так собираешься прописывать везде.. то почему бы это в сигнатуры не запихнуть?
А. У нас же питон интерпретатор док блоки анализирует и разработчику каждый раз говорит: "осторожно, здесь слоны бывают". Как же я забыл-то. Видать давно на питоне не писал.

Sergey
27.09.2018
18:00:32
вот так мы на пхп живем /** * @param OrderItem[] $orderItems */ private function processAutoParts(array $orderItems)

и то, хоть какие-то тайп хинты есть, без них совсем грусть

Andrey
27.09.2018
18:01:45
вот так мы на пхп живем /** * @param OrderItem[] $orderItems */ private function processAutoParts(array $orderItems)
Круто. Ничего не скажешь. А кто проверяет, что это выполняется на стороне вызывающего?

Sergey
27.09.2018
18:02:54
в лучшем случае идея проверят, или доп статические анализаторы которые это все кушают, собирают до кучи и во время CI гоняют. а так в рантайме все ловим)

Sergey
27.09.2018
18:05:44
И все ошибки у вас от "несоответствия" типов, а не из-за логики или неверных данных?
если поднять багтрекер и последние фиксы, то больше половины будут из-за типов. где-то null вернули, где-то с динамическими мапами непонять что происходит, где-то массив не совсем слонов передали

Igor
27.09.2018
18:06:26
Те тесты вообще не пишете, ок

Sergey
27.09.2018
18:06:29
$row = ['a' => 1, 'b' => ['c' => 'trololo']] - с таким вот работать вообще счастье, например

Google
Sergey
27.09.2018
18:07:21
Те тесты вообще не пишете, ок
тесты пишутся для логики, а тут баги которые могли бы ловиться еще на уровне компиляции

Igor
27.09.2018
20:31:06
Вам в Haskell дорога.
А что делать, если на работе приходится не компиляторы писать, а к примеру с кафкой или монгой (актуальными) работать ?. В котлине, то с этим проблем нет.

Алексей
28.09.2018
04:05:41
однако, у меня конструкция Regex("\\$something") вполне себе ломает анализатор и идею

Alexandr
28.09.2018
05:38:30
капец наоффтопили

Andrey
28.09.2018
08:04:20
А что делать, если на работе приходится не компиляторы писать, а к примеру с кафкой или монгой (актуальными) работать ?. В котлине, то с этим проблем нет.
Всё равно в Haskell дорога, хотябы для того, чтобы посмотреть как выглядит математически выверенная разрешимая система типов, как выглядит чистый функциональный язык и т.д. Мне знание Haskell сильно помогает в понимании, как что выводится в Java/Kotlin. Так же полезно, если надо какой-нибудь DSL/builder сделать.

The mirror
28.09.2018
08:08:01
Интересно, есть ли какая-то статистика или опросы по тому, насколько часто используется библиотека Arrow при разработке на Kotlin?

Ayrat
28.09.2018
08:22:47
Всем привет, как думаете правильно ли инжектить в sealed class? Или лучше в каждом наследнике вызывать Dagger.inject()?

Alexander
28.09.2018
08:36:44
А какая разница sealed он или нет?

Ayrat
28.09.2018
08:39:23
анализатор ругается kotlin leaking this in constructor of non-final class

Alexander
28.09.2018
08:40:35
sealed к этому не имеет отношения. С тем же успехом могло бы быть просто open

Ayrat
28.09.2018
08:42:22
sealed к этому не имеет отношения. С тем же успехом могло бы быть просто open
да, ты прав, тогда переформулирую: правильно ли в базовом классе это делать?

Alexander
28.09.2018
08:45:17
Это надо DI-юзеров спросить. Мое личное мнение: лучше, чтобы вызов контейнера всегда был явным, даже когда никто ни на что не ругается. Но это точно не мейн-стрим.

Ayrat
28.09.2018
09:05:51
да, специфичный кейс)

Mikhail
28.09.2018
09:06:01
правильно не инжектить в sealed классы

Quantum Harmonizer
28.09.2018
09:06:43
правильно не инжектить

Google
Mikhail
28.09.2018
09:07:02
правильно не инжектить
погодь, надо начинать с малого

OlegKrikun
28.09.2018
09:07:05
Mikhail
28.09.2018
09:08:57
@ayratkhannanov отвечай, что ты собрался инжектить. А то заинтриговал и свалил ?

Ayrat
28.09.2018
09:11:25
Ну тут такое дело, наследники это айтемы из списка в RecyclerView, у них есть метод showDetails(), который открывает нужный экран. Надо заинжектить кейс с аналитикой. Методы вызываюся через databinding

Quantum Harmonizer
28.09.2018
09:13:53
Заинжектить кейс ?

Ayrat
28.09.2018
09:14:18
?

Anton
28.09.2018
09:16:16
Это не получится решить колбеками/ кастомным адаптером датабиндинговым? Я бы не на уровне вью это решал

Anton
28.09.2018
09:18:22
Ну в любом случае не во вью

Ayrat
28.09.2018
09:18:41
Конечно

Dmitry
28.09.2018
09:34:15
Где посмотреть разницу kodein vs koin? Кратко и в двух словах

Руслан
28.09.2018
09:35:30
Где посмотреть разницу kodein vs koin? Кратко и в двух словах
В kodein вроде как уже работает мультиплатформа, в koin больше хайпа, и есть по желанию создания объектов через конструктор с рефлексией

Dmitry
28.09.2018
09:37:56
мультиплатформа не нужна нужно, чтобы было просто и управлять скоупами удобно. Я пока не очень понимаю, как строить DI в многомодульных проектах

Dmitry
28.09.2018
09:39:03
ок, начну с коин, он вроде проще. Спасибо

Abraham
28.09.2018
10:13:34


Alexander
28.09.2018
10:37:20
Немножко странная градация, но я в зеленом спектре. Практиечки кактус.

Правда у них наверное все, кто используют Oracle JDK должны добавочную энергию получить.

Google
1337
28.09.2018
11:25:57
активно использую котлин уже некс. лет на бекенде, хочу попробовать кое-что наваять для мобильных хочется 1 раз описать лейауты и 1 раз логику, скомпилировать все под иос\андроид пока склоняюсь к реакт нейтив, но хотел бы котлин, конечно, слышал про KotlinJS/UI, это из этой оперы?

Timophei
28.09.2018
11:29:00
https://kotlinlang.org/docs/reference/native-overview.html

Andrew
28.09.2018
11:29:48
https://kotlinlang.org/docs/reference/native-overview.html
Кто то юзает в продакшене?

1337
28.09.2018
11:30:00
нейтив это круто, но насколько он сырой? что там с лейаутами

I
28.09.2018
11:30:01
ребят, пытаюсь использовать котлин extensions во вью холдере, сделал отдельный класс, но почему-то не видит вьюх, хотя во вфрагментах и активити все хорошо, кто-то сталкивался с этим?

Admin
ERROR: S client not available

I
28.09.2018
11:31:05
itemView.id
это что? у меня вью холдер это отдельный класс, там хочу работать с вьюхами

Anton
28.09.2018
11:31:50
Иди в @kotlin_mobile

Timophei
28.09.2018
11:32:01
это что? у меня вью холдер это отдельный класс, там хочу работать с вьюхами
если да то itemView. и айди вьюхи и все будет у тебя добра

I
28.09.2018
11:32:55
Иди в @kotlin_mobile
а тут не про что говорят?

Anton
28.09.2018
11:34:13
Что?

I
28.09.2018
11:35:14
Что?
ну тут что обсуждают, я уточнил, если котлин для мобил не обсуждают

Anton
28.09.2018
11:36:50
Тут обсуждают вопросы не относящиеся к какой то платформе. А ещё тут у нас все дизайнеры языка)

I
28.09.2018
11:39:18
Тут обсуждают вопросы не относящиеся к какой то платформе. А ещё тут у нас все дизайнеры языка)
язык без платформы это как голова без мозгов)) вроде голова, но толку никакого нет или тут теория языка, ну типа холивар что лучше когда создаем сферического коня в вакууме var или val? и тд))

Alexander
28.09.2018
11:40:48
язык без платформы это как голова без мозгов)) вроде голова, но толку никакого нет или тут теория языка, ну типа холивар что лучше когда создаем сферического коня в вакууме var или val? и тд))
Ну идея простая, как я её понимаю. Если на вопрос немного затруднительно ответить без знания конкретной платформы - проще будет задать вопрос в платформенном чате языка.

Bogus
28.09.2018
11:44:24
нейтив это круто, но насколько он сырой? что там с лейаутами
https://blog.jetbrains.com/kotlin/2018/04/kotlinnative-plugin-for-appcode/

Google
1337
28.09.2018
11:48:50
вот тоже к флаттер склоняюсь

но хочется поддержки idea конечно

Mikhail
28.09.2018
11:49:20
я сам хочу попробовать, но чет идей для приложения нет?

1337
28.09.2018
11:49:31
о другие ide не хочется мараться

Алексей
28.09.2018
11:49:57
Там вроде как есть для этого штуки, но он всё равно больше бэковый. Поправьте, если я ошибаюсь

Mikhail
28.09.2018
11:51:37
Там вроде как есть для этого штуки, но он всё равно больше бэковый. Поправьте, если я ошибаюсь
добрая половина пользователей Kotlin - андроид разработчики (читай фронтендеры)

как это не про UI?

Mikhail
28.09.2018
11:53:03
а кто еще? мидленд??

Сашка
28.09.2018
11:53:11
А причем тут котлин и UI? Вы экраны делает вообще на xml, а не котлине

Mikhail
28.09.2018
11:54:44
А причем тут котлин и UI? Вы экраны делает вообще на xml, а не котлине
js-еры тоже разметку на HTML пишут, а стили в CSS хранят

что же, js не для UI?

Сашка
28.09.2018
11:55:06
Нет

Сашка
28.09.2018
11:55:39
Вы котлином управляете элементами , а не пишете на нем их

Как и js

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