“En cas d’erreur, que fait-on ?”. Fedy Salah vous fait découvrir une alternative fonctionnelle de gestion d’erreurs, avec Kotlin et Arrow

Le Jug Summer Camp se tient le vendredi 11 septembre à La Rochelle. Une conférence qui affiche déjà complet et dont le programme est à retrouver ici.

Fedy Salah, Tech Lead au sein de la #TeamSerli, animera un tools-in-action autour de la gestion d’erreurs. On vous propose de le découvrir ici 👇. Vous ne pouvez pas vous rendre au Jug Summer Camp ? Pas de panique, ce talk sera disponible en vidéo dans quelques jours, sur la chaîne youtube du Poitou-Charentes JUG.

Functional error handling en Kotlin + Arrow, par Fedy Salah

Vendredi 11 septembre de 16h15 à 16h45, au Jug Summer Camp à LaRochelle

Une des questions que je commence à poser de plus en plus dans mon métier et que je trouve assez négligée est : En cas d’erreur on fait quoi ?
Je vous parle de cela car je remarque que dans une équipe projet, développeurs comme testeurs, ont tendance à éviter les scénarios alternatifs finissant en erreur. Soit par peur de casser le programme soit en pensant que les utilisateurs ne feront jamais ce genre de manip.
La mauvaise nouvelle c’est qu’en production les utilisateurs peuvent faire tout et n’importe quoi, y compris les manips tordues. Si notre programme n’est pas assez robuste pour gérer ce genre de situation, on peut dire que le jour ou cela arrive on sera “chocolat”.
Les erreurs et les pannes font partie de notre quotidien et nos applicatifs doivent être en mesure de les gérer de façon assez explicite et rigoureuse afin d’éviter les imprévus.
Une façon old school de faire les choses en POO, c’est les exceptions.
Cette façon atteint rapidement ses limites du fait que :
  • Les exceptions sont implicites
  • Les exceptions sont coûteuses
  • Une exception non catchée pétera au runtime et peut arrêter le fonctionnement du programme.
  • ….
Mais maintenant on ne fait plus de POO on fait de la FP. Est ce possible de gérer nos erreurs de façon fonctionnelle ?
La réponse est oui.
Dans ce tools in action, je vais vous montrer qu’en Koltin et à l’aide de la lib Arrow on peut implémenter une alternative fonctionnelle de gestion d’erreurs. Vous allez voir que cela rajoute un peu de complexité à notre code.
Je vais en conséquent vous montrer que grâce aux concepts de la FP, en allant plus loin, on peut simplifier cette complexité et implémenter une gestion d’erreur simple, explicite et facile à maintenir.
Retour à la liste des actualités