Size: a a a

Kotlin Community

2020 April 24

AP

Anton Potekhin in Kotlin Community
Alexander Nozik
CacheBuilderKt.test()
спасибо 😉 понял….но это не мой вариант. Я хочу класс переписать на котлин , но он в старом коде используется
источник

AP

Anton Potekhin in Kotlin Community
и тогда старый код сломается
источник

AN

Alexander Nozik in Kotlin Community
тогда только через компаньон
источник

AL

Anton Lakotka in Kotlin Community
Anton Potekhin
и тогда старый код сломается
почитайте внимательно ту ссылку, которую я скинул про интероп. там много ответов на ваши вопросы
источник

AL

Anton Lakotka in Kotlin Community
в частности там описана анотация JvmMultifileClass
источник

AP

Anton Potekhin in Kotlin Community
Anton Lakotka
в частности там описана анотация JvmMultifileClass
да я уже понял что нужно @file:JvmName
источник

NY

Nikita Yatskivskiy in Kotlin Community
Ребят, это действительно плохая практика использовать object как namespace?
https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3

Что-то мне подскаывает, что иметь замусоренный глобальный namespace сильно хуже, чем объединить некторые static-функции одним объектом.
источник

VP

Vladimir Petrakovich in Kotlin Community
Так пакеты же есть
источник

AM

Andrew Mikhaylov in Kotlin Community
Глобального неймспейса в языке с пакетами, строго говоря, нет.
Касательно группировки в обжекты -- я такое вижу редко. В либах жб такого обычно нет, сообщество по-разному относится. @noraltavir, насколько я знаю, любит такое делать, к примеру.
источник

AN

Alexander Nozik in Kotlin Community
Вполне нормальная
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Глобального неймспейса в языке с пакетами, строго говоря, нет.
Касательно группировки в обжекты -- я такое вижу редко. В либах жб такого обычно нет, сообщество по-разному относится. @noraltavir, насколько я знаю, любит такое делать, к примеру.
Я стараюсь функции группировать в компаньонах тех классов, к которым они относятся. Получается типа как в жаве.
источник

AN

Alexander Nozik in Kotlin Community
Утильные функции стараюсь вообще экстеншенами делать
источник

RI

Ruslan Ibragimov in Kotlin Community
На практике это приводит к излишней вложенности, если хочется компаньон, то имхо проще вынести в companion extension который рядом лежит.
источник

AN

Alexander Nozik in Kotlin Community
Ruslan Ibragimov
На практике это приводит к излишней вложенности, если хочется компаньон, то имхо проще вынести в companion extension который рядом лежит.
В смысле?
источник

RI

Ruslan Ibragimov in Kotlin Community
Любая фигня в компаньоне это уже +8 спейсов слева
источник

RI

Ruslan Ibragimov in Kotlin Community
Ruslan Ibragimov
На практике это приводит к излишней вложенности, если хочется компаньон, то имхо проще вынести в companion extension который рядом лежит.
Есть исключение из этого правила - доступ к private внутри класса в котором компаньон
источник

NY

Nikita Yatskivskiy in Kotlin Community
Ruslan Ibragimov
На практике это приводит к излишней вложенности, если хочется компаньон, то имхо проще вынести в companion extension который рядом лежит.
А к чьему компаньону этот экстеншен делать?
источник

NY

Nikita Yatskivskiy in Kotlin Community
Не понял этот момент
источник

RI

Ruslan Ibragimov in Kotlin Community
Вот так должно быть понятнее
источник

RI

Ruslan Ibragimov in Kotlin Community
В общем случае я предпочту test2, т.к. у него меньше вложенность - сложнее упереться в soft 80 символов и hard 120. Читать проще по той же причине
источник