Menentukan penggunaan dan jenis flag

Flag peluncuran fitur digunakan oleh Google sebagai pendekatan untuk memastikan cabang kode yang stabil. Tanda ini juga diperlukan untuk jenis kontribusi tertentu ke AOSP. Sebelum menerapkan pelaporan peluncuran fitur, tentukan apakah penanda diperlukan untuk perubahan Anda. Selain itu, jika flag diperlukan, Anda harus menentukan jenis flag yang akan digunakan.

Menentukan penggunaan flag

Untuk menentukan kapan harus menggunakan flag peluncuran fitur, ikuti panduan berikut:

  • Jika Anda membuat perubahan yang dapat menyebabkan codebase AOSP menjadi tidak stabil, seperti menambahkan fitur baru atau memperbaiki {i>bug<i} yang sangat kompleks, gunakan flag peluncuran.

  • Sebaliknya, jika Anda membuat perubahan kode yang tidak cenderung menyebabkan codebase menjadi tidak stabil, seperti mengubah komentar, Anda tidak perlu menggunakan tanda peluncuran fitur.

Menentukan jenis tanda

Ada dua jenis flag: flag aconfig dan flag build.

Flag Aconfig

Tanda Aconfig digunakan untuk memisahkan eksekusi kode yang belum dirilis dari kode yang dirilis selama proses pengujian dan rilis. Flag Aconfig dapat {i>read-write<i} atau {i>read-only<i}:

  • Flag aconfig baca-tulis adalah variabel boolean yang dapat Anda aktifkan (ditetapkan ke true) atau nonaktifkan (ditetapkan ke false) saat runtime. Gunakan tanda baca-tulis untuk menguji dan merilis perubahan tanpa memengaruhi stabilitas cabang utama.

  • Flag aconfig hanya baca adalah konstanta boolean yang tidak dapat Anda ubah saat runtime. Anda dapat mengonversi flag aconfig baca-tulis menjadi flag aconfig hanya baca untuk kode yang stabil dan siap dirilis.

    Selain itu, bergantung pada compiler yang Anda gunakan, saat flag hanya baca digunakan, kode yang tidak dieksekusi mungkin dikecualikan dari build. Oleh karena itu, Anda dapat menggunakan tanda hanya baca untuk menyembunyikan kode apa pun yang belum siap menjadi bagian dari rilis.

Flag build

Flag build adalah konstanta waktu build (string) dan Anda tidak dapat mengubahnya selama waktu beroperasi. Gunakan flag ini dalam situasi saat Anda tidak dapat menggunakan flag aconfig, seperti:

  • Anda memiliki potongan kode yang telah dikompilasi sebelumnya atau siap pakai yang ingin Anda sertakan di dari build tersebut.
  • Anda ingin membuat perubahan pada sistem build itu sendiri.
  • Anda ingin menempatkan flag di sekitar dependensi untuk mengelola ukuran kode.