Muy buenas, soy Gabi Moreno y quiero ayudarte a ser un Desarrollador Android más productivo.

Hoy te voy a dar 10 trucos para que seas más productivo en tu día a día picando código.  No llegarás a ser el mítico “Ingeniero 10X” pero te irás acercando :-). ¡Vamos allá!

1. Arquitectura Homogénea

Es importante no sólo seguir una buena arquitectura, sino que sea la misma/parecida en todos los aspectos del proyecto. Esto reduce la deuda técnica y hace el código muchísimo más mantenible y legible.

2. Módulos + BuildSrc

Los módulos sirven para optimizar la escalabilidad, ser más ordenados y asegurarse de una correcta separación de capas. Además, los tiempos compilación suelen ser más cortos ya que los módulos que no han sido modificados desde los últimos cambios estarán cacheados.

Y si usas buildSrc para la gestión de dependencias, como emplea Kotlin, podemos usar el super útil autocompletado. Además, de este modo tenemos una SSOT (Single Source Of Truth) de bibliotecas de terceros al tenerlo todo centralizado aquí.

3. Git Strategy

Usa la estrategia que mejor se adapte al proyecto en el que estés. Yo chequearía Trunk Based Development antes de seguir usando Git Flow (si es lo que usas) para ver si se adapta mejor a tus requisitos de proyecto. Un caso claro: si estás empezando un Pet Project tu sólo, en muchos de los casos… ¿por qué incluso deberías de tener más de una rama? No te pongas palos en la rueda.

4. minSdkVersion

Intenta que la versión mínima de Android que les hará falta a tus usuarios sea lo más alta posible. Hoy en día, si puedes tener un mínimo de 23, de cine. Menos de un 21 a día de hoy puede ser un suplicio para dar soporte a ciertas funcionalidades. Además, estarás acumulando deuda técnica, ya que todo el boilerplate añadido para dar soporte a versiones antiguas, lo tendrás allí esperando… Es conocida esta cuenta de Twitter donde da actualizando la info al respecto.

5. PR Templates

Es una manera muy útil de ayudar a tus compañeros a tener contexto al decidir si aceptar tus cambios. Los revisores de Pull Requests, sabrán en qué se tienen que centrar y conocer el scope. Si quieres saber como hacer esto en Github (recuerda como funciona un proceso de desarrollo en GitHub), puedes ver su documentación.

6. Code Owners

Definir quien es responsable de cada parte del código va brutalmente bien para olvidarnos de asignar manualmente revisores para un cambio del código cada vez. Y mucho más. Al igual que el caso anterior, tienes toda la info al respecto en Github.

7. Firebase App Distribution

Si eres de los que hace beta testing interno / externo con esta herramienta, configúralo para poder usarlo con bundles y así de este modo, poder disfrutar de todas sus ventajas. Si quieres averiguar cómo hacerlo, lo tienes fácil en este artículo: Beta testing Dynamic Features with Firebase App Distribution.

8. Design System

Usa un Design System (algunos ejemplos de design systems) para avanzar tu UI de un modo homogéneo y que escale. El uso de custom views, estilos y temas te será indispensable para este cometido. La mayoría de las herramientas más usadas actualmente te dan capacidad para ello.

9. CI / CD

Se puede resumir en una frase: “Todo lo que pueda hacer una máquina, que lo haga una máquina”. Puedes usar Bitrise, Jenkins, Github Actions, etc. Pero lo que tienes que tener claro es que invertir tiempo en automatizaciones de acciones que haces repetidamente en el día a día, te hace muchísimo más productivo, ya que además de evitar el tener que hacerlas manualmente, fomenta que te enfoques en las cosas para las que se requiere de tu ingenio.

10. Shortcuts

Domina los shortcuts de Android Studio. Por sólo mencionar un par, cosas como usar el tabulador para acabar de rellenar el autocompletado o el uso de “Select All Ocurrences” [Linux & Windows: Ctrl + Alt + Shift + J] [Mac: Ctrl + Cmd + G] son un antes y un después de cara a avanzar a buen ritmo.

Y esto es todo lo que te quería comentar en este artículo. ¡Espero que te haya sido útil!. Y si tu tienes algún otro “truquillo” para desarrollar apps en Android, compártelo con nosotros en los comentarios.

Puedes seguirme en Github y escucharme en Ivoox.

 

¡Un abrazote! ????