Android AOSP Code Style Guidelines

AOSP (Android Open Source Project): es el proyecto de Google el cual provee el código fuente de Android, para que tanto fabricantes y desarrolladores puedan adaptar el código a sus necesidades.

Code Styles: Según la definición de su propia web, y a diferencia de otros guidelines, estás son reglas estrictas, no directrices o recomendaciones. Las contribuciones a Android que no se adhieren a estas reglas generalmente no se aceptan.

Estos guidelines los podemos haber visto en varias ocasiones, pero sin habernos dado cuenta, por ejemplo, ¿has visto en algún momento que nombres de variables empiezan con una m minúsculas y están en camel case? bueno, te cuento que esto es por que estamos siguiente estos guidelines. A continuación, alguno de ellos.

Convención de nombres

  • Los nombres de campos no-públicos, no estáticos comienzan con m.
  • Los nombres de campos estáticos comienzan con s.
  • Otros campos comienzan con una letra minúscula.
  • Los campos finales estáticos públicos (constantes) son ALL_CAPS_WITH_UNDERSCORES.

Uso de llaves

Las llave NO deben ir en una nueva fila

Identación

La identación normal es de 4 espacios, por el contrario, si separamos el código en una nueva línea, este debe tener 8 espacios

IF sin llaves

Bien sabido es que es posible utilizar IF sin las llaves, debido a esto, es que sólo estas 2 formas son aceptadas

Si la condicional IF no posee llaves, debe estar en la misma línea que la declaración

Orden de las importaciones

Cuando importamos, debemos seguir el siguiente orden:

  1. importaciones de Android
  2. Importaciones de terceros (com, junit, net, org)
  3. Java y javax

Además, para coincidir exactamente con la configuración de IDE, las importaciones deben ser:

  • Alfabético dentro de cada agrupación, con letras mayúsculas antes de letras minúsculas (por ejemplo, Z antes de a).
  • Separado por una línea en blanco entre cada agrupación principal (android, com, junit, net, org, java, javax).

 

Existen más guidelines los cuales puedes ver directamente en su web.