0Pricing
Swift Academy · Ders

Saf İşlevler ve Yan Etkisiz Tasarım

Aynı girdi için her zaman aynı çıktıyı döndüren işlevler yazın.

Saf İşlevler ve Yan Etkisiz Tasarım, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Saf işlevler, aynı girdi için her zaman aynı çıktıyı üretir ve hiçbir yan etkiye neden olmaz. Swift'te işlevsel programlamanın yapı taşlarıdır.

Saf İşlev Tanımı

Bir işlev şu koşullarda saftır: • Aynı girdi her zaman aynı çıktıyı üretir • Gözlemlenebilir yan etkisi yoktur (değişiklik, G/Ç veya global durum yoktur) ```swift func add(_ a: Int, _ b: Int) -> Int { a + b } // pure ```

Saf Olmayan İşlev Örneği

```swift var total = 0 func addToTotal(_ n: Int) { total += n } // impure — mutates global ``` Bu işlevi `5` ile iki farklı bağlamda çağırırsanız farklı sonuçlar üretir.

Referans Şeffaflığı

Saf bir işlev çağrısı, programın davranışını değiştirmeden kendi sonucuyla değiştirilebilir: ```swift let result = add(2, 3) // same as writing 5 ```

Saf İşlevlerin Faydaları

• Sınanması kolaydır — kurulum/temizleme gerekmez • Paralel çalıştırmak güvenlidir — paylaşılan durum yoktur • Birleştirilebilir — yan etkiler konusunda endişelenmeden zincirlenebilir • Önbelleğe alınabilir — sonuçları hatırlamak güvenlidir

Swift Değer Türleri Saflığı Sağlar

Yapı yöntemleri kopyalar aldığı için doğal olarak saflığa yönelir: ```swift struct Vector { var x, y: Double } func scaled(_ v: Vector, by f: Double) -> Vector { Vector(x:v.x*f, y:v.y*f) } ```

Yan Etkileri Yalıtma

Yan etkileri sisteminizin sınırlarına taşıyın: ```swift // Pure core logic: func processOrders(_ orders: [Order]) -> Invoice { ... } // Impure at the edge: func run() { let inv = processOrders(load()); save(inv) } ```

Saf İşlevler ve Sınama

```swift func test() { let result = add(2, 3) assert(result == 5) // no mocks needed! } ``` Saf işlevler sahte nesnelere ihtiyaç duymaz — yalnızca çağırıp doğrulamanız yeterlidir.

Gerçek Dünya Örneği

```swift func discountedPrice(base: Double, discount: Double) -> Double { base * (1 - discount) } let final = discountedPrice(base: 100, discount: 0.2) // 80.0 ```

Saf İşlevleri Birleştirme

```swift func double(_ n: Int) -> Int { n * 2 } func addOne(_ n: Int) -> Int { n + 1 } let transform: (Int) -> Int = { addOne(double($0)) } print(transform(5)) // 11 ```

Hızlı Kontrol

Bir işlevin sahte nesneler olmadan sınanmasını kolaylaştıran özellik nedir?

Özet

Temel çıkarımlar: • Saf: aynı girdi → aynı çıktı, yan etki yoktur • Referans şeffaflığı, yerine koymayı mümkün kılar • Yan etkileri sistem sınırlarına taşıyın • Saf işlevler kolayca sınanabilir ve paralel çalıştırılabilir Sonraki konu: üst düzey işlevler.

Sıkça Sorulan Sorular

“Saf İşlevler ve Yan Etkisiz Tasarım” dersi ücretsiz mi?

Evet — “Saf İşlevler ve Yan Etkisiz Tasarım” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“Saf İşlevler ve Yan Etkisiz Tasarım” dersinde ne öğreneceğim?

Aynı girdi için her zaman aynı çıktıyı döndüren işlevler yazın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Saf İşlevler ve Yan Etkisiz Tasarım” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Saf İşlevler ve Yan Etkisiz Tasarım
  2. Üst Düzey İşlevler: map, flatMap, compactMap
  3. İşlev Birleştirme ve Veri Akışları
  4. Verimlilik için Tembel Diziler
← Swift Academy Sayfasına Dön