Track
Kotlin
Review null safety, data classes, sealed states, scope functions, collections, coroutines, Flow, JVM interop, and tests.
- 01
Null safety boundaries
Keep nullable values at input boundaries instead of spreading
!!through service code.null-safetyboundaries - 02
Data class immutability
Use immutable data classes and
copywhen a request creates a new state.data-classimmutability - 03
Sealed result states
Represent closed workflow outcomes with sealed types instead of status strings.
sealedstateresults - 04
Scope function intent
Use scope functions when the receiver and return value match the reader's expectation.
scope-functionsreadability - 05
Collection transformations
Prefer collection operations that name the data rule instead of manual mutable accumulation.
collectionstransformations - 06
Coroutine scope lifecycle
Tie child coroutines to the request or screen that started the work.
coroutinesstructured-concurrency - 07
Flow state streams
Keep Flow pipelines cancellable and let callers choose where collection starts.
flowstreamscancellation - 08
Resource use boundaries
Close files and streams at the same boundary that opens them.
resourcesusecleanup - 09
JVM interop platform types
Treat Java platform types as nullable until Kotlin code proves the contract.
jvminteropplatform-types - 10
Kotest fixtures and assertions
Write Kotlin tests that name the behavior, input fixture, and exact output contract.
testskotestassertions
Related tracks
Keep learning inside the same language family.