Size: a a a

Kotlin Community

2020 April 24

NY

Nikita Yatskivskiy in Kotlin Community
Мы тут про простой object говорим, а не про companion))
источник

VP

Vladimir Petrakovich in Kotlin Community
80 лимит при 4 пробелах отступа - это как-то маловато)
источник

RI

Ruslan Ibragimov in Kotlin Community
Alexander Nozik
Я стараюсь функции группировать в компаньонах тех классов, к которым они относятся. Получается типа как в жаве.
Вот тут про companion было
источник

NY

Nikita Yatskivskiy in Kotlin Community
А, я просто вопрос поднимал именно по обычным object’ам.
источник

RI

Ruslan Ibragimov in Kotlin Community
Nikita Yatskivskiy
А, я просто вопрос поднимал именно по обычным object’ам.
Просто писать функции в object это тоже увеличение вложенности без понятной причины
источник

NY

Nikita Yatskivskiy in Kotlin Community
Как-то вот прям не нравится когда в autocomplete вылезает куча не нужных методов и мешается. Названия по-любому у функций в чём-то будут пересекаться
источник

AN

Alexander Nozik in Kotlin Community
Ruslan Ibragimov
Вот так должно быть понятнее
Понятно, хотя я не чувствую особой разницы.
источник

RI

Ruslan Ibragimov in Kotlin Community
Видимо зависит от того, как много таких функций пишется. Я вот сейчас глянул относительно большой backend проект, там порядка 16 модулей. И функций много, но такой проблемы нет. Модули изолированны, функции для dao - internal и лежат в dao и т.д. Желания запихнуть все это добро в object нету, и так ок
источник

AN

Alexander Nozik in Kotlin Community
Nikita Yatskivskiy
А, я просто вопрос поднимал именно по обычным object’ам.
Использование объектов как пространства имен - это абсолютно нормально. Но по опыту получается весьма редко. Обычно утилки можно или сделать internal top-level или сделать расширениями
источник

AN

Alexander Nozik in Kotlin Community
Nikita Yatskivskiy
Как-то вот прям не нравится когда в autocomplete вылезает куча не нужных методов и мешается. Названия по-любому у функций в чём-то будут пересекаться
Поэтому на мой взгляд публичные топ-левелы в либе - это так себе
источник

AN

Alexander Nozik in Kotlin Community
Ruslan Ibragimov
Видимо зависит от того, как много таких функций пишется. Я вот сейчас глянул относительно большой backend проект, там порядка 16 модулей. И функций много, но такой проблемы нет. Модули изолированны, функции для dao - internal и лежат в dao и т.д. Желания запихнуть все это добро в object нету, и так ок
Ну так если они снаружи модуля не видны - проблемы нет
источник

AN

Alexander Nozik in Kotlin Community
Проблема возникает, когда все видно. И не только про функции, но и про константы.
источник

RI

Ruslan Ibragimov in Kotlin Community
Alexander Nozik
Поэтому на мой взгляд публичные топ-левелы в либе - это так себе
Я бы сказал что там будет проблема с их discovery, потому что в автокомплите врядли они окажутся в первых строчках, но нужно проверить.

В IDEA еще можно включить machine learning для автокомплита, занятная штука
источник

AN

Alexander Nozik in Kotlin Community
Ruslan Ibragimov
Я бы сказал что там будет проблема с их discovery, потому что в автокомплите врядли они окажутся в первых строчках, но нужно проверить.

В IDEA еще можно включить machine learning для автокомплита, занятная штука
Вообще, мы все-таки говорим исходно про разные вещи. Есть читаемость кода и есть читаемость API для внешнего пользователя. Первое важнее для приложений, второе для либ.
источник

RI

Ruslan Ibragimov in Kotlin Community
В целом можно продолжить и сказать: нужно делать больше классов вложенными-статическими, ведь они появляются в автокомплите.
источник

BP

Bogdan Panchenko in Kotlin Community
Ruslan Ibragimov
Я бы сказал что там будет проблема с их discovery, потому что в автокомплите врядли они окажутся в первых строчках, но нужно проверить.

В IDEA еще можно включить machine learning для автокомплита, занятная штука
Тогда идея вообще всю память съест 🙃
источник

RI

Ruslan Ibragimov in Kotlin Community
Вот такая занятная штука, подняла мои экстешены и часто используемый toByteArray
источник

RI

Ruslan Ibragimov in Kotlin Community
источник

BP

Bogdan Panchenko in Kotlin Community
А потребление данной штуки ?
источник

VP

Vladimir Petrakovich in Kotlin Community
Самое время для срача, можно ли такое делать экстеншенами
источник