Xác định loại và cách sử dụng cờ

Google sử dụng cờ ra mắt tính năng như một phương pháp để đảm bảo các nhánh mã ổn định. Bạn cũng phải dùng các cờ này cho một số loại nội dung đóng góp nhất định cho AOSP. Trước khi triển khai tính năng gắn cờ khi ra mắt, hãy xác định xem có cần gắn cờ cho thay đổi của bạn hay không. Và nếu cần có cờ, bạn nên xác định loại cờ cần sử dụng.

Xác định cách sử dụng cờ

Để xác định thời điểm sử dụng cờ ra mắt tính năng, hãy làm theo các nguyên tắc sau:

  • Nếu bạn đang thực hiện một thay đổi có thể khiến cơ sở mã AOSP không ổn định, chẳng hạn như thêm một tính năng mới hoặc sửa một lỗi đặc biệt phức tạp, hãy sử dụng cờ khởi chạy tính năng.

  • Ngược lại, nếu bạn đang thực hiện một thay đổi về mã không phù hợp để khiến cơ sở mã không ổn định, chẳng hạn như sửa đổi nhận xét, thì bạn không cần sử dụng cờ khởi chạy tính năng.

Xác định loại cờ

Có hai loại cờ: cờ aconfigcờ bản dựng.

Cờ Aconfig

Các cờ Aconfig được dùng để tách việc thực thi mã chưa phát hành khỏi mã đã phát hành trong quá trình kiểm thử và phát hành. Các cờ Aconfig có thể là cờ đọc-ghi hoặc chỉ đọc:

  • Cờ aconfig có thể đọc-ghi là các biến boolean mà bạn có thể bật (đặt thành true) hoặc tắt (đặt thành false) trong thời gian chạy. Sử dụng cờ đọc-ghi để kiểm thử và phát hành các thay đổi mà không ảnh hưởng đến tính ổn định của một nhánh chính.

  • Cờ aconfig chỉ đọc là các hằng số boolean mà bạn không thể thay đổi trong thời gian chạy. Bạn có thể chuyển đổi cờ aconfig đọc-ghi thành cờ aconfig chỉ đọc cho mã ổn định và sẵn sàng phát hành.

    Ngoài ra, tuỳ thuộc vào trình biên dịch mà bạn đang sử dụng, khi cờ chỉ đọc được dùng, mã không được thực thi có thể bị loại trừ khỏi bản dựng. Do đó, bạn có thể dùng cờ chỉ đọc để ẩn mọi mã chưa sẵn sàng được đưa vào một bản phát hành.

Cờ dựng

Cờ bản dựng là các hằng số (chuỗi) trong thời gian xây dựng và bạn không thể thay đổi chúng trong thời gian chạy. Hãy sử dụng các cờ này trong trường hợp bạn không thể dùng cờ aconfig, chẳng hạn như:

  • Bạn có một đoạn mã được biên dịch trước hoặc tạo sẵn mà bạn muốn đưa vào bản dựng.
  • Bạn muốn thay đổi chính hệ thống bản dựng.
  • Bạn muốn đặt cờ xung quanh các phần phụ thuộc để quản lý kích thước mã.