Kotlin Geliştirme Kalıpları
Sağlam, verimli ve sürdürülebilir uygulamalar oluşturmak için idiomatic Kotlin kalıpları ve en iyi uygulamalar.
Ne Zaman Kullanılır
- Yeni Kotlin kodu yazarken
- Kotlin kodunu incelerken
- Mevcut Kotlin kodunu refactor ederken
- Kotlin modülleri veya kütüphaneleri tasarlarken
- Gradle Kotlin DSL build'lerini yapılandırırken
Nasıl Çalışır
Bu skill yedi temel alanda idiomatic Kotlin konvansiyonlarını uygular: tip sistemi ve safe-call operatörleri kullanarak null safety, val ve data class'larda copy() ile immutability, exhaustive tip hiyerarşileri için sealed class'lar ve interface'ler, coroutine'ler ve Flow ile yapılandırılmış eşzamanlılık, inheritance olmadan davranış eklemek için extension fonksiyonlar, @DslMarker ve lambda receiver'lar kullanarak tip güvenli DSL builder'lar, ve build yapılandırması için Gradle Kotlin DSL.
Örnekler
Elvis operatörü ile null safety:
Exhaustive sonuçlar için sealed class:
async/await ile yapılandırılmış eşzamanlılık:
Temel İlkeler
1. Null Safety
Kotlin'in tip sistemi nullable ve non-nullable tipleri ayırır. Tam olarak kullanın.
2. Varsayılan Olarak Immutability
var yerine val tercih edin, mutable koleksiyonlar yerine immutable olanları.
3. Expression Body'ler ve Tek İfadeli Fonksiyonlar
Kısa, okunabilir fonksiyonlar için expression body'ler kullanın.
4. Value Objeler İçin Data Class'lar
Öncelikle veri tutan tipler için data class'lar kullanın.
Sealed Class'lar ve Interface'ler
Kısıtlı Hiyerarşileri Modelleme
API Yanıtları İçin Sealed Interface'ler
Scope Fonksiyonlar
Her Birini Ne Zaman Kullanmalı
Extension Fonksiyonlar
Inheritance Olmadan Fonksiyonalite Ekleme
Coroutine'ler
Yapılandırılmış Eşzamanlılık
Reactive Stream'ler İçin Flow
DSL Builder'lar
Tip Güvenli Builder'lar
Gradle Kotlin DSL
build.gradle.kts Yapılandırması
Hata İşleme Kalıpları
Domain Operasyonları İçin Result Tipi
require, check, error
Hızlı Referans: Kotlin İdiyomları
Kaçınılması Gereken Anti-Kalıplar
Hatırla: Kotlin kodu kısa ama okunabilir olmalı. Güvenlik için tip sisteminden yararlanın, immutability tercih edin ve eşzamanlılık için coroutine'ler kullanın. Şüpheye düştüğünüzde, derleyicinin size yardım etmesine izin verin.


