Google utiliza las marcas de lanzamiento de funciones como un método para garantizar las ramas de código estables. Estas marcas también son necesarias para ciertos tipos de contribuciones al AOSP. Antes de implementar las marcas de lanzamiento de funciones, determina si una marca es necesaria para el cambio que realizas. Si es así, debes determinar el tipo de marca que debes usar.
Cómo determinar el uso de marcas
Para determinar cuándo usar una marca de lanzamiento de funciones, sigue estos lineamientos:
Si vas a hacer un cambio que podría causar que la base de código del AOSP sea inestable, como agregar una nueva función o corregir un error particularmente complejo, utiliza una marca de lanzamiento de funciones.
De lo contrario, si vas a hacer un cambio de código que no puede causar que la base de código sea inestable, como modificar comentarios, no necesitas usar una marca de lanzamiento de funciones.
Cómo determinar el tipo de marcas
Existen dos tipos de marcas: Las marcas de aconfig y las marcas de compilación.
Marcas de aconfig
Las marcas de aconfig se utilizan para separar la ejecución de código sin lanzar del código lanzado durante el proceso de prueba y lanzamiento. Las marcas de aconfig pueden ser de lectura y escritura o de solo lectura:
Las marcas de aconfig de lectura y escritura son variables booleanas que puedes habilitar (configurar en
true
) o inhabilitar (configurar enfalse
) durante el tiempo de ejecución. Usa una marca de lectura y escritura para probar y lanzar cambios sin afectar la estabilidad de una rama principal.Las marcas de aconfig de solo lectura son variables booleanas que no puedes cambiar durante el tiempo de ejecución. Puedes convertir las marcas de aconfig de lectura y escritura a marcas de aconfig de solo lectura para el código que ya es estable y está listo para el lanzamiento.
Además, en función del compilador que utilices, cuando se use una marca de solo lectura, el código no ejecutado podría excluirse de la compilación. Por lo tanto, puedes usar marcas de solo lectura para ocultar código que no esté listo para formar parte de una versión.
Marcas de compilación
Las marcas de compilación son constantes de tiempo de compilación (cadenas) y no se pueden cambiar durante el tiempo de ejecución. Usa estas marcas en casos en los que no puedas utilizar marcas de aconfig, como en los siguientes casos:
- Tienes código precompilado que quieres incluir en la compilación.
- Quieres realizar cambios en el sistema de compilación en sí.
- Quieres colocar marcas alrededor de dependencias para administrar el tamaño del código.