#article #kotlin
Ни для кого не секрет, что сегодня Kotlin — это официальный язык для нативной разработки под Android. Он призван уменьшить количество написанного кода и улучшить его качество.
В целом, со своей задачей он справляется, однако не все разработчики используют все фичи этого языка при написании кода, делая всё «по старинке».
Попалась статья, которая даёт 7 советов написания кода «Kotlinic» способом. Вот несколько из них:
🔸используйте функцию `let`, чтобы проверить поле на null. Проверка на null — это очень распространённое действие, несмотря на то, что в Kotlin есть nullable-переменные. Многие забывают, что существует хорошая альтернатива
if not null выражению — функция let, в которой код превращается в a?.let { foo(a) }.🔸используйте функции для создания списков. Очень часто мы для заполнения списков используем цикл
for и забываем про средста Kotlin. Например, заполнить список значениями по умолчанию можно в одну строку:
val list = IntArray(10) { 1 }.asList(). Но подобным образом можно заполнить список разными значениями:
val list = List(5, {it*2}), что даст нам список от 0 до 8 с шагом 2.🔸используйте `require` и `check` для работы с исключениями. Например, если мы хотим, чтобы наша переменная была больше нуля, то можно вызвать функцию:
require(n >0) { Should be more than zero }.🔸используйте `apply` и `with`, чтобы уменьшить повторы кода. Эти две функции полезны, если мы хотим сделать несколько действий с нашей переменной. Такое часто бывает при работе сo
RecyclerView, которому нужно задать layout manager и несколько других свойств. 🔸используйте методы `partition` и `groupBy` для списков. Эти функции помогают нам сделать несколько списков из одного по заданному условию.
Добавлю сюда ещё функцию
groupByTo, в которой мы можем указать то, в какую структуру превратить наш список.🔸используйте method references вместо lambda expressions для простых действий. Довольно интересный совет, который не так часто видишь в коде.
Например, у нас есть список объектов Person, который мы хотим преобразовать в список имён. Мы можем использовать method references в
map, чтобы сделать это более красивым способом:val names = persons.map(Person::name).Надеюсь, что вы нашли для себя полезный совет, который будете применять на практике. 🤓