Sobes.tech
Junior

Deneyiminizde bildiğiniz veya kullandığınız yardımcı fonksiyonlar nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

  • Lambda İfadeleri: Küçük fonksiyonlar için kodu kısaltır, örneğin tıklama veya geri çağırma işlemleri.

  • Genişletme Fonksiyonları (Kotlin): Var olan sınıflara yeni fonksiyonlar ekler, kalıtım olmadan okunabilirliği ve kullanışlılığı artırır.

    fun String.isPalindrome(): Boolean {
        // Dizinin palindrom olup olmadığını kontrol eder
        return this == this.reversed()
    }
    
  • İç İçe Fonksiyonlar (Kotlin): Fonksiyon gövdesini çağrı yerine yerleştirir, bu da fonksiyon nesnesi oluşturma maliyetini azaltır, özellikle lambda ile kullanıldığında faydalıdır.

    inline fun measureExecutionTime(block: () -> Unit) {
        // Kod bloğunun çalışma süresini ölçer
        val startTime = System.currentTimeMillis()
        block()
        val endTime = System.currentTimeMillis()
        println("İşlem süresi: ${endTime - startTime} ms")
    }
    
  • Veri Sınıfları (Kotlin): equals(), hashCode(), toString(), copy() fonksiyonlarını otomatik olarak üretir, veri saklama için kullanışlıdır.

    data class User(val name: String, val age: Int)
    
  • Kapalı Sınıflar (Kotlin): Sınıf hiyerarşisini sınırlar, durumları veya olayları modellemek için kullanışlıdır, özellikle when ile birlikte.

  • Generics: Farklı veri tipleriyle çalışan yeniden kullanılabilir bileşenler oluşturmayı sağlar.

    public class Box<T> {
        // Herhangi bir veri tipini saklamak için genel sınıf
        private T data;
    
        public void setData(T data) {
            this.data = data;
        }
    
        public T getData() {
            return data;
        }
    }
    
  • Koleksiyonlar Üzerinde İşlemler (map, filter, reduce vb.): Veri koleksiyonlarını işlemek için fonksiyonel metodlar.

    val numbers = listOf(1, 2, 3, 4, 5)
    val squaredEvenNumbers = numbers
        .filter { it % 2 == 0 } // Çiftleri filtrele
        .map { it * it }      // Karelerini al
    
  • Kaynak Getiriciler (Kotlin): Kaynaklardan string, renk, boyut gibi değerleri almak için.

    val appName = context.getString(R.string.app_name)
    val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary)
    
  • Nullable Tipler ve Güvenli Çağrılar (Kotlin): NullPointerException sayısını azaltır.

    val name: String? = null
    val length = name?.length ?: 0 // Güvenli çağrı ve Elvis operatörü