تحديد استخدام العلامة ونوعها

تستخدِم Google علامات إطلاق الميزات كنهج لضمان استقرار فروع الرموز البرمجية. هذه العلامات مطلوبة أيضًا لأنواع معيّنة من المساهمات في مشروع Android مفتوح المصدر (AOSP). قبل تنفيذ علامات إطلاق الميزات، حدِّد ما إذا كانت العلامة ضرورية للتغيير الذي تريد إجراؤه. وإذا كانت العلامة ضرورية، عليك تحديد نوع العلامة التي تريد استخدامها.

تحديد استخدام العلامة

لتحديد متى يجب استخدام علامة إطلاق ميزة، اتّبِع الإرشادات التالية:

  • إذا كنت تجري تغييرًا قد يؤدي إلى عدم استقرار قاعدة رموز AOSP البرمجية، مثل إضافة ميزة جديدة أو إصلاح خطأ معقّد بشكل خاص، استخدِم علامة إطلاق ميزة.

  • على العكس من ذلك، إذا كنت تجري تغييرًا في الرموز البرمجية من غير المرجّح أن يؤدي إلى عدم استقرار قاعدة الرموز البرمجية، مثل تعديل التعليقات، لن تحتاج إلى استخدام علامة إطلاق ميزة.

تحديد نوع العلامة

يتوفّر نوعان من العلامات: علامات aconfig وعلامات الإصدار.

علامات aconfig

تُستخدَم علامات aconfig لفصل تنفيذ الرموز البرمجية التي لم يتم إصدارها عن الرموز البرمجية التي تم إصدارها أثناء عملية الاختبار والإصدار. يمكن أن تكون علامات aconfig للقراءة والكتابة أو للقراءة فقط:

  • علامات aconfig للقراءة والكتابة هي متغيرات منطقية يمكنك تفعيلها (ضبطها على true) أو إيقافها (ضبطها على false) في وقت التشغيل. استخدِم علامة للقراءة والكتابة لاختبار التغييرات وإصدارها بدون التأثير في استقرار فرع رئيسي.

  • علامات aconfig للقراءة فقط هي ثوابت منطقية لا يمكنك تغييرها في وقت التشغيل. يمكنك تحويل علامات aconfig للقراءة والكتابة إلى علامات aconfig للقراءة فقط للرموز البرمجية المستقرة والجاهزة للإصدار.

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

علامات الإصدار

علامات الإصدار هي ثوابت (سلاسل) في وقت الإصدار ولا يمكنك تغييرها أثناء وقت التشغيل. استخدِم هذه العلامات في الحالات التي لا يمكنك فيها استخدام علامات aconfig، مثل:

  • لديك جزء من الرموز البرمجية تم تجميعه أو إنشاؤه مسبقًا وتريد تضمينه في الإصدار.
  • تريد إجراء تغييرات على نظام التصميم نفسه.
  • تريد وضع علامات حول التبعيات لإدارة حجم الرموز البرمجية.