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

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

Xác định việc 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 khắc phục 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 thay đổi mã không dễ gây ra sự không ổn định cho cơ sở mã, chẳng hạn như sửa đổi nhận xét, thì bạn không cần sử dụng cờ phát hành tính năng.

Xác định loại cờ

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

Cờ Aconfig

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

  • Cờ cấu hình đọc-ghi là các biến boolean mà bạn có thể bật (đặt thành true) hoặc tắt (được đặ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 nhánh chính.

  • Cờ aconfig chỉ có thể đọ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ó thể đọc cho mã ổn định và sẵn sàng phát hành.

    Ngoài ra, khi cờ chỉ đọc, tuỳ thuộc vào trình biên dịch mà bạn đang sử dụng được sử 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ể sử dụng cờ chỉ có thể đọc để ẩn mọi mã chưa sẵn sàng trở thành một phần của bản phát hành.

Cờ dựng

Cờ bản dựng là hằng số (chuỗi) tại thời điểm tạo bản dựng và bạn không thể thay đổi các cờ này trong thời gian chạy. Sử dụng những cờ này trong những trường hợp bạn không thể sử 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 xây 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ã.