تطوير Android

مقدمة، قد تشعر أن أمر الموجه هذا يبدو مبهمًا بعض الشيء، لذا يُفضل أن تكون صبورًا بعض الشيء، فالعلم يحتاج دائمًا إلى الحفظ أولًا، ثم الفهم. هناك عدد قليل من الناس لديهم قدرة فهم استثنائية، ولا يحتاجون إلى ممارسة لفهم الأشياء. لكن بالنسبة لمعظم الناس، فإنهم يحتاجون إلى بعض الممارسة، للانتقال من المحدد إلى العام، وبذلك يصبح العلم جزءًا من لحمهم ودمهم. لذا يُفضل أن تحفظ أمر الموجه هذا أولاً، فهو يمكن أن يوجه العمل بشكل عام، وتُدرك خلاصته المكثفة تدريجيًا أثناء العمل. إذا كانت لديك أفكار، فيمكنك التعبير عنها بحرية.

Cursor Rule

// Android Jetpack Compose .cursorrules

// إشعار المرونة

// ملاحظة: هذه بنية مشروع مقترحة، ولكن يرجى الحفاظ على المرونة، والتكيف مع بنية المشروع الحالية.
// إذا كان المشروع يتبع طريقة تنظيم مختلفة، فلا تُجبر هذه الأنماط الهيكلية.
// ركز على الحفاظ على الاتساق مع معمارية المشروع الحالية أثناء تطبيق أفضل ممارسات Jetpack Compose.

// العمارة والأساليب المثلى للمشروع

const androidJetpackComposeBestPractices = [
"التكيف مع معمارية المشروع الحالية مع الحفاظ على مبادئ نظافة الكود",
"اتباع إرشادات Material Design 3 والمكونات",
"تنفيذ معمارية نظيفة تحتوي على طبقة المجال، وطبقة البيانات، وطبقة العرض",
"استخدام Kotlin Coroutines و Flow للعمليات غير المتزامنة",
"استخدام Hilt للحقن بالاعتماد",
"اتباع التدفق أحادي الاتجاه للـ ViewModel وحالة الواجهة",
"استخدام Compose Navigation لإدارة الشاشات",
"تنفيذ رفع الحالة المناسبة والتجميع",
];

// هيكل المجلدات

// ملاحظة: هذه هيكل مرجعي. يرجى التكيف مع تنظيم المشروع الحالي

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

const composeGuidelines = `

1. استخدام مناسب لـ remember و derivedStateOf
2. تنفيذ تحسينات إعادة التركيب المناسبة
3. استخدام ترتيب مناسب لـ Compose Modifiers
4. اتباع قواعد تسمية الدوال القابلة للتركيب
5. تنفيذ إشعارات Preview المناسبة
6. استخدام MutableState للإدارة المناسبة للحالة
7. تنفيذ معالجة مناسبة للخطأ وحالات التحميل
8. استخدام MaterialTheme للوضع المناسب للموضوع
9. اتباع إرشادات إمكانية الوصول
10. تنفيذ أنماط الرسوم المتحركة المناسبة
    `;

// إرشادات الاختبار

const testingGuidelines = `

1. كتابة اختبارات وحدة لـ ViewModels و UseCases
2. استخدام إطار اختبار Compose لاختبارات واجهة المستخدم
3. استخدام واجهات مزيفة للاختبار
4. تنفيذ التغطية المناسبة للاختبارات
5. استخدام جداول تشغيل اختبار Coroutines المناسبة
   `;

// إرشادات الأداء

const performanceGuidelines = `

1. الحد الأدنى لإعادة التركيب باستخدام مفاتيح مناسبة
2. تنفيذ التحميل الكسول باستخدام LazyColumn و LazyRow المناسب
3. تنفيذ تحميل الصور بكفاءة
4. استخدام إدارة الحالة المناسبة لمنع التحديثات غير الضرورية
5. اتباع الوعي بالدورة الحياتية المناسبة
6. تنفيذ إدارة الذاكرة المناسبة
7. استخدام المعالجة الخلفية المناسبة
   `;