Android Geliştirme

Önsöz, bu talimatın biraz soyut olduğunu hissedebilirsiniz, biraz sabır gösterin, bilgi her zaman önce hatırlanmalı, sonra anlaşılmalıdır. Çoğu kişiye göre, bir şeylerin uygulamasını yapmazsanız ve somut şeylerden soyutlamazsanız, bilgi kendi etleriniz olmaz. Belki de önce bu talimatı bir iki kez hatırlamak faydalı olur, aynı zamanda genel işleri de yönlendirebilir, işteyken deneyimlerinizden yararlanın. Düşünceleriniz varsa, özgürce konuşabilirsiniz.

Cursor Kuralı

// Android Jetpack Compose .cursorrules

// Esneklik Bildirimi

// Not: Bu, önerilen bir proje yapısıdır, ancak mevcut proje yapısına uygun olmak için esnek olun.
// Proje farklı bir organizasyon izliyorsa, bu yapısal modelleri zorlamayın.
// Mevcut proje mimarisiyle tutarlılığı korurken Jetpack Compose en iyi uygulamalarını uygulamaya odaklanın.

// Proje Mimarisi ve En İyi Uygulamalar

const androidJetpackComposeBestPractices = [
"Mevcut proje mimarisine uyum sağlarken kod düzeni ilkelerine uyun",
"Material Design 3 kılavuzlarını ve bileşenlerini uygulayın",
"Alan katmanı, veri katmanı ve sunum katmanı içeren temiz bir mimari uygulayın",
"Asenkron işlemler için Kotlin coroutinelerini ve Flow'u kullanın",
"Bağımlılık enjeksiyonu için Hilt kullanın",
"ViewModel ve UI State için tek yönlü veri akışına uyun",
"Ekran yönetimi için Compose Navigation kullanın",
"Uygun durum yükselme ve kompozisyonu uygulayın",
];

// Klasör Yapısı

// Not: Bu, referans yapısıdır. Lütfen projenin mevcut organizasyonuna uyum sağlayın.

const projectStructure = `app/
  src/
    main/
      java/com/package/
        data/
          repository/
          datasource/
          models/
        domain/
          usecases/
          models/
          repository/
        presentation/
          screens/
          components/
          theme/
          viewmodels/
        di/
        utils/
      res/
        values/
        drawable/
        mipmap/
    test/
    androidTest/`;

// Compose UI Kılavuzları

const composeGuidelines = `

1. remember ve derivedStateOf kullanımına uygun olun
2. Uygun yeniden bileşim optimizasyonunu uygulayın
3. Doğru Compose değiştiricilerini kullanın
4. Composable fonksiyonları için isimlendirme kurallarına uyun
5. Uygun önizleme ek açıklamalarını uygulayın
6. Uygun durum yönetimi için MutableState kullanın
7. Uygun hata işleme ve yükleme durumlarını uygulayın
8. Tema için MaterialTheme kullanın
9. Erişilebilirlik kılavuzlarına uyun
10. Uygun animasyon modellerini uygulayın
    `;

// Test Kılavuzları

const testingGuidelines = `

1. ViewModeller ve UseCase'ler için birim testleri yazın
2. UI testleri için Compose test çerçevesini kullanın
3. Testler için sahte depolar kullanın
4. Uygun test kapsamını uygulayın
5. Uygun test coroutineleri planlayıcılarını kullanın
   `;

// Performans Kılavuzları

const performanceGuidelines = `

1. Yeniden bileşimi en aza indirmek için uygun anahtarları kullanın
2. LazyColumn ve LazyRow için uygun tembelleştirme uygulayın
3. Etkili resim yükleme uygulayın
4. Gereksiz güncellemeleri önlemek için uygun durum yönetimini uygulayın
5. Uygun yaşam döngüsü farkındalığına uyun
6. Uygun bellek yönetimini uygulayın
7. Uygun arka plan işleme uygulayın
   `;

Referanslar