namespaces. А как принято делать это сейчас? Вот у меня есть набор функций, которые не требуют никакого объекта вокруг и внешнего состояния, но хочется их объединить под общим родительским именем. В stdlib есть вариант с object, но вот тут https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3 говорят, что так не надо.
Есть вот такой документ https://arturdryomov.dev/posts/namespacing-in-kotlin/ в котором говорят interface-it up!
И я пока сделал страшноватый вариант с interface { companion object { fun ... fun ... fun ...}}
А какие более годные варианты?
Да сделай просто object, потом на namespace заменишь 😌
С interface лютая наркомания, лучше уж сразу обычный object
Ну, мне кажется, что примерно такое: 1. Хватит package'а для понимания контекста? Просто положите в top-level. 2. Используете ещё и в Джаве? Добавьте аннотацию на другое название класса. 3. Прямо безумно нужен контекст более наглядный? Возьмите object . Да, лишний код под капотом, не самое критичное. И да, когда/если появятся, можно переделать на неймспейс.
Не знаю почему они так долго приходили к неймспейсу, но имхо object самый нормальный вариант в результате
Обсуждают сегодня