Size: a a a

2021 January 08

L

Leonid in KotlinLangRu
Jalol Imomaddinov
Я уже переписываю один проект 3й раз, с каждым разом получаю иной код:)
Наверное, нужно архитектурку получше продумать? Чтобы совсем новый код не получался 😁
источник

p

podocodenick in KotlinLangRu
Leonid
Наверное, нужно архитектурку получше продумать? Чтобы совсем новый код не получался 😁
Clean Architecture я пробовал. Не осилил.. Точнее не понял его))) Зачем он нужен)
Такое уже было, с DI. Однако коин щас уже активно юзаю. Чую клин тоже скоро мне поддастся
источник

JI

Jalol Imomaddinov in KotlinLangRu
Leonid
Наверное, нужно архитектурку получше продумать? Чтобы совсем новый код не получался 😁
Проблема именно в архитектуре, изначально его не было, после пару попыток расширения проекта, появилась потребность в нормальной архитектуре
источник

L

Leonid in KotlinLangRu
podocodenick
ахахахха, жиза. я тоже, год в проекте, а свою часть постоянно с ног на голову переворачиваю))

ладно, пойду я про потокобезопасные мапы читать. я позаимствовал ваш код, позже отпишусь)
Да и вообще, почитай про все структуры данных "из коробки" и что они умеют в котлине. Куча костылей сразу отвалится 😂
источник

p

podocodenick in KotlinLangRu
Leonid
Да и вообще, почитай про все структуры данных "из коробки" и что они умеют в котлине. Куча костылей сразу отвалится 😂
да, надо бы. благо дока на русском есть, ребятки свои
источник

p

podocodenick in KotlinLangRu
а тут сидят из JB кто-нибудь? вроде как единственный котлин чатик в телеге. и официальный как я понял
источник

JI

Jalol Imomaddinov in KotlinLangRu
podocodenick
а тут сидят из JB кто-нибудь? вроде как единственный котлин чатик в телеге. и официальный как я понял
источник

JI

Jalol Imomaddinov in KotlinLangRu
вроде тут тоже было
источник

ИИ

Иван Иванов... in KotlinLangRu
Иван Иванов
Господа, простейший вопрос.
Есть ли стандартная функция, которая делает простую вещь:
inline fun<T> Any.cast(): T = this as T

При работе комфортнее цепочками вызовов выстраивать, чем оборачивать скобочками приведение типов
На практике это оказалось даже ещё лучше. Благодаря умному анализу среды, мне даже не нужно указывать конкретный тип <String>, чтобы приводить.

cast определённо лучше, чем as String
источник

YS

Yury Schkatula in KotlinLangRu
Иван Иванов
Во-первых, в вашем примере (obj == null) будет всегда false

А далее, либо так

fun method(obj: MyClass = MyClass()) {
   
}


Либо так

fun method(obj: MyClass?) {
   val obj = obj ?: MyClass()
}
не понял, почему всегда false будет - ведь если nullable-переменная содержит null, сравнение вернёт true
источник

ИИ

Иван Иванов... in KotlinLangRu
Yury Schkatula
не понял, почему всегда false будет - ведь если nullable-переменная содержит null, сравнение вернёт true
Icosider отредактировал сообщение =)
источник

I

Icosider in KotlinLangRu
Оу, прошу прощения, забыл сказать😅
источник

YS

Yury Schkatula in KotlinLangRu
а, вон оно чего :)
источник

BP

Bogdan Panchenko in KotlinLangRu
podocodenick
нет, давайте проще короче) вот у меня есть допустим синглтон который хранит один инстанс
мне стало нужно например 2 инстанса
Это противоречит понятию сингелтон, вам по факту нужен класс с приватным конструктором и компаньоном в котором вы сделаете себе инстансы
источник

L

Leonid in KotlinLangRu
Bogdan Panchenko
Это противоречит понятию сингелтон, вам по факту нужен класс с приватным конструктором и компаньоном в котором вы сделаете себе инстансы
Его просветили, как нужно.
источник

L

Leonid in KotlinLangRu
...исходя из того, о чем он спрашивал. А так кто его знает, что там требуется *на самом деле*
источник
2021 January 09

ГР

Георгий Р. in KotlinLangRu
Всем привет, подскажите как в Kotlin  с ФП ? есть что то подобное cats scalaz и тд ?
источник

QH

Quantum Harmonizer in KotlinLangRu
Георгий Р.
Всем привет, подскажите как в Kotlin  с ФП ? есть что то подобное cats scalaz и тд ?
не знаю, что за cats, но есть arrow
источник

ИИ

Иван Иванов... in KotlinLangRu
podocodenick
я же не буду делать два object и писать в них одно и то же?
Делай тогда или глобальные переменные
val globalObj1 = MyClass()
val globalObj2 = MyClass()

или, чтоб прям рил синглтон

class MyClass {
   private constructor(){}
   companion object {
        val single1 = MyClass()
        val single2 = MyClass()
    }
}
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
Делай тогда или глобальные переменные
val globalObj1 = MyClass()
val globalObj2 = MyClass()

или, чтоб прям рил синглтон

class MyClass {
   private constructor(){}
   companion object {
        val single1 = MyClass()
        val single2 = MyClass()
    }
}
можно сразу class MyClass private constructor() {}
источник