Этой серией статей я хочу простым человеческим языком показать, зачем нужны Contracts, как их использовать на практике и как они работают внутри.
#kotlin #contract
https://habr.com/ru/companies/alfa/articles/916536/
Хабр
  
  Не хотите поговорить о Kotlin Contracts?
  Привет! Меня зовут Виталий. Я — Android‑разработчик в Альфа‑Банке. За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой...
❤7
  Несколько дней назад вышел Kotlin 2.2.0
What's new
Language: new language features in preview, including context parameters. Several previously experimental features are now Stable, such as guard conditions, non-local break and continue, and multi-dollar interpolation.
Kotlin compiler: unified management of compiler warnings.
Kotlin/JVM: changes to default method generation for interface functions.
Kotlin/Native: LLVM 19 and new features for tracking and adjusting memory consumption.
Kotlin/Wasm: separated Wasm target and the ability to configure Binaryen per project.
Kotlin/JS: fix for the copy() method generated for @JsPlainObject interfaces.
Gradle: binary compatibility validation in the Kotlin Gradle plugin.
Standard library: stable Base64 and HexFormat APIs.
Documentation: our documentation survey is open, and notable improvements have been made to the Kotlin documentation.
#kotlin #release
https://kotlinlang.org/docs/whatsnew22.html
  
  What's new
Language: new language features in preview, including context parameters. Several previously experimental features are now Stable, such as guard conditions, non-local break and continue, and multi-dollar interpolation.
Kotlin compiler: unified management of compiler warnings.
Kotlin/JVM: changes to default method generation for interface functions.
Kotlin/Native: LLVM 19 and new features for tracking and adjusting memory consumption.
Kotlin/Wasm: separated Wasm target and the ability to configure Binaryen per project.
Kotlin/JS: fix for the copy() method generated for @JsPlainObject interfaces.
Gradle: binary compatibility validation in the Kotlin Gradle plugin.
Standard library: stable Base64 and HexFormat APIs.
Documentation: our documentation survey is open, and notable improvements have been made to the Kotlin documentation.
#kotlin #release
https://kotlinlang.org/docs/whatsnew22.html
Kotlin Help
  
  What's new in Kotlin 2.2.0 | Kotlin
  
❤9
  Статья про equals/hashcode и как это используется в Hash* коллекциях. Базовый вопрос на интервью.
#java #kotlin #collections
https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
  
  #java #kotlin #collections
https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
Medium
  
  How to Answer Hashing Like a Java/Kotlin Expert
  Understanding hashing and the relationship between equals() and hashCode() is essential not just for interviews but for writing…
👍19
  Комментарии vs. самодокументируемый код: что выбрать?
#android #kotlin #bestpractice
https://habr.com/ru/articles/929600/
  
  #android #kotlin #bestpractice
https://habr.com/ru/articles/929600/
Хабр
  
  Комментарии vs. самодокументируемый код: что выбрать?
  Если вы когда-либо сталкивались с чужим кодом (или даже со своим, написанным полгода назад), то знаете, как сложно бывает понять, что именно делает тот или иной фрагмент. В такие моменты особенно...
👍3❤2
  Видео о проблеме забытых значений. Когда функция вызывается, но результат не используется. Самый распространенный пример - list.sorted(). 
#kotlin
https://www.youtube.com/watch?v=OyEfB6Q4Y0s
  
  #kotlin
https://www.youtube.com/watch?v=OyEfB6Q4Y0s
YouTube
  
  Don't forget your values! | Leonid Startsev
  Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs 
No one likes to be forgotten, and the results of most non-unit function calls are no exception here. 'Check return value' or 'ignored call result' may sound familiar —…
No one likes to be forgotten, and the results of most non-unit function calls are no exception here. 'Check return value' or 'ignored call result' may sound familiar —…
❤4👍2
  Rich Errors в Kotlin 2.4: шаг вперёд или шаг в сторону?
#kotlin #exception #error
https://habr.com/ru/companies/spring_aio/articles/931148/
  
  Вместо того чтобы выбрасывать исключения, теперь функции могут возвращать возможные ошибки как часть своей сигнатуры:
fun fetchUser(): User | NetworkError
Такой подход делает потенциальные сбои явными, упрощает тестирование и избавляет от try-catch для предсказуемых ошибок. Новинка уже доступна в Kotlin 2.4 и, по мнению авторов, особенно полезна в бизнес-логике.
#kotlin #exception #error
https://habr.com/ru/companies/spring_aio/articles/931148/
Хабр
  
  Rich Errors в Kotlin 2.4: шаг вперёд или шаг в сторону?
  Команда Spring АйО не могла остаться в стороне и не прокомментировать одну из самых обсуждаемых новинок Kotlin, анонсированную на KotlinConf 2025 — Rich Errors. Вместо того чтобы выбрасывать...
🤔11👍10👎6🖕1
  Короткий пост о том, что в Kotlin для создания коллекций существуют удобные build* функции
#kotlin #collections
https://landomen.github.io/posts/kotlin-builder-functions/
  
  #kotlin #collections
https://landomen.github.io/posts/kotlin-builder-functions/
Domen Lanisnik
  
  Kotlin’s Builder Functions: A Better Way to Create Lists, Maps, Strings & Sets
  Kotlin offers several convenience functions to create lists, maps, strings, and more without the usual boilerplate code.
👍14
  RetainedEffect - Side Effect в Compose на базе новой функции retain
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
  
  #compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
Medium
  
  Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles
  The Jetpack Compose ecosystem has grown exponentially in recent years, and it is now widely adopted for building production-level UIs in…
👍3
  Приоритеты и общее направление развития проектов Kotlin Multiplatform и Compose Multiplatform на ближайшие шесть-двенадцать месяцев
#kotlin #kmp #multiplatform #compose
https://blog.jetbrains.com/kotlin/2025/08/kmp-roadmap-aug-2025/
  
  #kotlin #kmp #multiplatform #compose
https://blog.jetbrains.com/kotlin/2025/08/kmp-roadmap-aug-2025/
The JetBrains Blog
  
  What’s Next for Kotlin Multiplatform and Compose Multiplatform – August 2025 Update | The Kotlin Blog
  Discover our priorities and the general direction for Kotlin Multiplatform and Compose Multiplatform over the next six to twelve months.
❤3👍2🥰1
  Что нового в JUnit 6: ключевые изменения и улучшения
#junit #test #java #kotlin
https://habr.com/ru/companies/spring_aio/articles/954322/
  
  JUnit 6 вышел спустя восемь лет после релиза JUnit 5. Это не просто очередное обновление — это значительный шаг вперёд в направлении модернизации.
Рассмотрим основные улучшения, и изменения, ломающие обратную совместимость.
#junit #test #java #kotlin
https://habr.com/ru/companies/spring_aio/articles/954322/
Хабр
  
  Что нового в JUnit 6: ключевые изменения и улучшения
  Спустя восемь лет после JUnit 5 выходит новая версия популярного фреймворка. JUnit 6 — это не просто обновление, а переход к современной экосистеме Java и Kotlin. В новом переводе от команды Spring...
👍5
  Статья с примерами, рассказывающая про использование runCatching вместо try-catch
#android #kotlin
https://proandroiddev.com/kotlin-tips-and-tricks-you-may-not-know-7-goodbye-try-catch-hello-trycatching-7135cb382609
  
  #android #kotlin
https://proandroiddev.com/kotlin-tips-and-tricks-you-may-not-know-7-goodbye-try-catch-hello-trycatching-7135cb382609
Medium
  
  Kotlin Tips and Tricks You May Not Know: #7 — Goodbye try-catch, Hello runCatching!
  A cleaner way to handle exceptions in Kotlin with runCatching.
👍7👎1🔥1
  Что нового в Kotlin 2.2.21 (и 2.2.20!)
Overview of Kotlin 2.2.20 and 2.2.21
Dataflow-based exhaustiveness checks
Returns in expression bodies
Improved Kotlin contracts
More changes like reified types in catch clauses & invokedynamic-whens
Common atomics API updates
New array copy function
Kotlin/Wasm in Beta & Browser Debugging
Swift export available by default (experimental)
Smaller release binaries
Documentation updates
There’s more to this release!
#kotlin
https://www.youtube.com/watch?v=QWpp5-LlTqA
  
  Overview of Kotlin 2.2.20 and 2.2.21
Dataflow-based exhaustiveness checks
Returns in expression bodies
Improved Kotlin contracts
More changes like reified types in catch clauses & invokedynamic-whens
Common atomics API updates
New array copy function
Kotlin/Wasm in Beta & Browser Debugging
Swift export available by default (experimental)
Smaller release binaries
Documentation updates
There’s more to this release!
#kotlin
https://www.youtube.com/watch?v=QWpp5-LlTqA
YouTube
  
  What's new in Kotlin 2.2.21 (and 2.2.20!)
  Kotlin 2.2.20 and its patch release 2.2.21 come with a lot of new features! On the language level, new dataflow checks allow more flexible when-expressions than before, and contracts are getting sweeping updates. Kotlin Multiplatform promotes Kotlin for WebAssembly…
👍6👎1