этого обычно завожу компаньйон со статическими переменными, но часто они статические просто потому что константы и сне кажется это не очень хорошая практика
А если делать не статическими то на скрим снейк кейс студия ругается
Const val. В чем проблемы не понимаю?
Тут дело в том что в котлине val - это уже константа по сути. Если тебе нужна константа которая доступна с запуска приложения и что бы она была в памяти всегда без инициализации объекта, то делай компанион, если это просто поле внутри класса имеющее статическую (неизменяемую) инфу делай val.
Если переменная не статика то студия ругается на названия формата MY_CONST
Он спрашивает про варнинг на который АС ссылается если переменную капсом написать, а const val то такое в коте только в виде статики
Компилятору вроде ваще пох как ты свои перменные обзываешь, а этот ворнинг вроже носит какое там называние, я забыл короче говоря... по сути ворнинг хочет сказать тебе , что так не принято именовать переменную
Вот, но и называть константу как то по другому тоже вроде не принято Как тогда принято ?)
Если объявить константу вне класса ? Вроде не должен ругаться
Если следовать тому, что принято в Java, то константы должны быть в uppercase. Чтобы студия при этом не ругалась, их нужно помещать в companion object. В принципе, когда в коде видишь all uppercase, то сразу понимаешь, что это должна быть константа, а не что-то там ещё, типа глобальной переменной.
У парня вопрос был в том что делать 20 констант статикой если они нужны не на всю работу приложения, не так разумно. По сути это можно и утечкой назвать в своем роде.
Я бы сделал private const val в компаньоне и не парился 🤷♂
Обсуждают сегодня