Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gestión de Errores en Android

Avatar for Julián Ezequiel Picó Julián Ezequiel Picó
August 15, 2019
21

Gestión de Errores en Android

¿ExceptionHandlers? ¿Errores en tareas asincrónicas? ¿Stacktrace ofuscado? ¿try-catch genéricos? Hablemos de todos esos tabúes. Una charla en la que, además de hablar sobre herramientas, metodologías y prácticas, se mostrará cómo usar la tecnología a nuestro favor de la forma más práctica: migrando código Java Legacy a Kotlin y… Android Jetpack!

Avatar for Julián Ezequiel Picó

Julián Ezequiel Picó

August 15, 2019

Transcript

  1. Definiciones Iniciales • Errores ◦ Negocio ◦ Excepcionales ◦ Otros

    • Fallas • Responsabilidad del Manejo de Errores • Fail Fast • Excepciones
  2. Evitar los Errores • Metodologías de Desarrollo • Los objetos

    y sus modificaciones • La tecnología es clave • Diseño y Arquitectura • Single Responsibility • Integración continua
  3. Detectar y Rastrear los Errores • IDE y Plugins •

    Revisiones de código • Tests, tests, tests • El stacktrace, mejor amigo que enemigo • Debuggear • Hacerse cargo
  4. • Inversión de Control del error • Qué tan fácil

    es corregir? • Rambo-Deploy • Métricas, reportes, bla, bla • Está chequeado? Corregir el error
  5. Manejar el error • Excepciones y negocio • La excepción

    rompe todo • La excepción tiene que loguearse • Cómo logueamos?
  6. Manejar el error • Solo logueamos? ◦ Qué errores mostramos?

    ◦ Homogeneidad en la representación ◦ Customize • Logging y Eventos Asincrónicos • No caer en el manejo automático
  7. Prepararse para el error no manejado • Herramientas externas •

    Errores con solución • El exterior es un problema ◦ Circuit Breaker ◦ Feature Switching
  8. Diseño Bottom Up Entidades del Negocio Repositorios (acceso a datos)

    Service / Use Cases (negocio) ViewModels / Presenters (negocio-UI) UI
  9. Diseño Top Down Representación del error en UI Representación de

    otros mensajes en UI Mensajes felices para el Usuario Quién va a mostrar los mensajes? Determinar y detectar errores
  10. Documentar la gestión • Definir lineamientos generales ◦ Representaciones, garantías

    de consistencia, métricas, testing, herramientas externas, contingencias, etc. • Comunicar las decisiones tomadas, para nuestro equipo actual y futuro • Base para futuros proyectos
  11. Links útiles - Lecturas y Herramientas • Repositorio de Código:

    link • The Value of Inconvenient Design • Effective Approach to Mobile Testing • Considering architecture for Android app - Feature Switching • The Trouble with Checked Exceptions • Handling Exceptions: The Easy Way • Meetup de Integración Continua • Meetup de Mobile Testing • HttpMocker • Shark: Smart Heap Analysis Reports for Kotlin • Improving RxJava stack traces with RxDogTag • Timber • Crashlytics