ระบุประเภทและการใช้งาน Flag

Google ใช้ Flag การเปิดตัวฟีเจอร์เป็นแนวทางในการทำให้สาขาโค้ดมีเสถียร นอกจากนี้ คุณยังต้องใช้ Flag เหล่านี้สำหรับการมีส่วนร่วมใน AOSP บางประเภทด้วย ก่อนใช้การแจ้งว่าเปิดตัวฟีเจอร์ ให้พิจารณาว่าจำเป็นต้องแจ้งว่าเปิดตัวฟีเจอร์สำหรับการเปลี่ยนแปลงของคุณหรือไม่ และหากจำเป็นต้องใช้ Flag คุณควรระบุประเภท Flag ที่จะใช้

ระบุการใช้งานการแจ้งว่าไม่เหมาะสม

หากต้องการกำหนดว่าควรใช้ Flag การเปิดตัวฟีเจอร์เมื่อใด ให้ทำตามหลักเกณฑ์ต่อไปนี้

  • หากคุณทำการเปลี่ยนแปลงที่อาจทำให้โค้ดฐาน AOSP ไม่เสถียร เช่น การเพิ่มฟีเจอร์ใหม่หรือการแก้ไขข้อบกพร่องที่ซับซ้อนมาก ให้ใช้ Flag การเปิดตัวฟีเจอร์

  • ในทางกลับกัน หากคุณกำลังทำการเปลี่ยนแปลงโค้ดที่ไม่เหมาะสมจนทำให้ โค้ดเบสที่ไม่เสถียร เช่น การแก้ไขความคิดเห็น คุณไม่จำเป็นต้องใช้ ธงเปิดตัวฟีเจอร์

ระบุประเภทแฟล็ก

โดยมี 2 ประเภท ได้แก่ แฟล็ก aconfig และแฟล็กการสร้าง

Flag ของ Aconfig

แฟล็ก Aconfig ใช้เพื่อแยกการดำเนินการของโค้ดที่ยังไม่เผยแพร่ออกจาก รหัสที่ปล่อยออกมาในระหว่างการทดสอบและขั้นตอนเผยแพร่ แฟล็ก Aconfig มีดังนี้ อ่านอย่างเดียวหรืออ่านอย่างเดียว:

  • Flag aconfig แบบอ่าน/เขียนคือตัวแปรบูลีนที่คุณเปิดใช้ (ตั้งค่าเป็น true) หรือปิดใช้ (ตั้งค่าเป็น false) ได้ในรันไทม์ ใช้แฟล็กแบบอ่าน-เขียนเพื่อทดสอบ และเผยแพร่การเปลี่ยนแปลงโดยไม่ส่งผลกระทบต่อความเสถียรของ Branch หลัก

  • แฟล็ก aconfig แบบอ่านอย่างเดียวเป็นค่าคงที่บูลีนที่คุณเปลี่ยนแปลงไม่ได้ รันไทม์ คุณแปลงแฟล็ก aconfig แบบอ่านอย่างเดียวเป็นแฟล็ก aconfig แบบอ่านอย่างเดียวได้ สำหรับโค้ดที่มีความเสถียรและพร้อมเผยแพร่

    นอกจากนี้ เมื่อมีการตั้งค่าสถานะแบบอ่านอย่างเดียว ทั้งนี้ขึ้นอยู่กับคอมไพเลอร์ที่คุณใช้ ระบบอาจยกเว้นโค้ดที่ไม่มีการเรียกใช้ จากบิลด์ คุณจึงใช้ Flag แบบอ่านอย่างเดียวเพื่อซ่อนโค้ดที่ยังไม่พร้อมเป็นส่วนหนึ่งของรุ่นได้

ตั้งค่าสถานะ

Flag การสร้างคือค่าคงที่ (สตริง) ของเวลาสร้าง และคุณจะเปลี่ยนแปลง Flag เหล่านี้ระหว่างรันไทม์ไม่ได้ ใช้แฟล็กเหล่านี้ในกรณีที่ใช้แฟล็ก aconfig ไม่ได้ เช่น

  • คุณมีโค้ดที่คอมไพล์ไว้ล่วงหน้าหรือที่สร้างไว้ล่วงหน้าซึ่งคุณต้องการรวมไว้ในรหัสนั้น งานสร้าง
  • คุณต้องการทําการเปลี่ยนแปลงในระบบการสร้าง
  • คุณต้องการใส่ Flag ไว้รอบๆ Dependency เพื่อจัดการขนาดโค้ด