پرچمهای راهاندازی ویژگی توسط گوگل به عنوان رویکردی برای اطمینان از شاخههای کد پایدار استفاده میشود. این پرچم ها همچنین برای انواع خاصی از مشارکت در AOSP مورد نیاز است. قبل از اجرای پرچمگذاری راهاندازی ویژگی، مشخص کنید که آیا پرچم برای تغییر شما ضروری است یا خیر. و اگر پرچم لازم است، باید نوع پرچم مورد استفاده را تعیین کنید.
استفاده از پرچم را تعیین کنید
برای تعیین زمان استفاده از پرچم راهاندازی ویژگی، این دستورالعملها را دنبال کنید:
اگر تغییری ایجاد میکنید که میتواند باعث ناپایدار شدن پایگاه کد AOSP شود، مانند افزودن یک ویژگی جدید یا رفع یک باگ پیچیده، از یک پرچم راهاندازی ویژگی استفاده کنید.
برعکس، اگر در حال تغییر کدی هستید که نمیتواند باعث ناپایدار شدن پایگاه کد شود، مانند اصلاح نظرات، نیازی به استفاده از پرچم راهاندازی ویژگی نیست.
نوع پرچم را تعیین کنید
دو نوع پرچم وجود دارد: پرچم های aconfig و پرچم های ساخت .
پرچم های Aconfig
پرچمهای Aconfig برای جدا کردن اجرای کد منتشر نشده از کد منتشر شده در طول فرآیند آزمایش و انتشار استفاده میشوند. پرچم های Aconfig می توانند خواندنی-نوشتنی یا فقط خواندنی باشند:
پرچمهای aconfig خواندن-نوشتن متغیرهای بولی هستند که میتوانید در زمان اجرا فعال کنید (تنظیم به
true
) یا غیرفعال کنید (تنظیم بهfalse
). از یک پرچم خواندن-نوشتن برای آزمایش و انتشار تغییرات بدون تأثیر بر پایداری شاخه اصلی استفاده کنید.پرچمهای aconfig فقط خواندنی، ثابتهای بولی هستند که نمیتوانید در زمان اجرا آنها را تغییر دهید. میتوانید پرچمهای aconfig خواندن-نوشتن را به پرچمهای aconfig فقط خواندنی برای کدهایی که پایدار و آماده انتشار هستند تبدیل کنید.
علاوه بر این، بسته به کامپایلری که استفاده میکنید، وقتی از یک پرچم فقط خواندنی استفاده میشود، ممکن است کدی که اجرا نمیشود از بیلد حذف شود. بنابراین، میتوانید از پرچمهای فقط خواندنی برای مخفی کردن هر کدی که برای بخشی از نسخه آماده نیست استفاده کنید.
پرچم بسازید
پرچمهای ساخت، ثابتهای زمان ساخت (رشتهها) هستند و نمیتوانید آنها را در طول زمان اجرا تغییر دهید. از این پرچم ها در شرایطی استفاده کنید که نمی توانید از پرچم های aconfig استفاده کنید، مانند:
- شما یک قطعه کد از پیش کامپایل شده یا از پیش ساخته شده دارید که می خواهید آن را در بیلد قرار دهید.
- شما می خواهید تغییراتی ایجاد کنید تا خود سیستم را بسازید.
- شما می خواهید پرچم هایی را در اطراف وابستگی ها قرار دهید تا اندازه کد را مدیریت کنید.