Informaticienzero

Le blog d'un informaticien passionné de partage, d'échanges et surtout, pas si zéro que ça.

Aujourd’hui, c’est le chapitre N’ignore pas cette erreur que je vais traduire, comme sa licence Creative Commons Attribution 3.0 me le permet. Il a été écrit à l’origine par Pete Goodliffe.

Ça faisait mal à la jambe, mais j’étais pressé de revoir mes amis. Donc je me suis relevé et j’ai continué. Au fur et à mesure que je marchais, ma douleur augmentait. Bien que je l’ai mis d’abord sur le compte du choc, j’ai rapidement compris qu’il y avait quelque chose qui n’allait pas.

Je suis quand même allé au bar. Quand je suis arrivé j’étais à l’agonie. Je n’ai pas eu une bonne nuit, parce que j’étais très distrait. Le matin, je suis allé chez le docteur et j’ai découvert que je m’étais fracturé un os. Si je m’étais arrêté quand j’ai senti la douleur, je me serai épargné beaucoup de dommages supplémentaires, infligés quand je marchais. Sans doute le pire lendemain matin de ma vie. *

Trop de programmeurs écrivent du code comme ma désastreuse sortie de nuit.

Erreur, quelle erreur ? Ça n’est pas très grave. Franchement. Je peux l’ignorer. Ça n’est pas une stratégie gagnante pour écrire du code robuste. En fait, c’est juste de la fainéantise (la mauvaise). Peu importe à quel point tu pense qu’il ne peut y avoir d’erreurs dans le code, tu devrais toujours vérifier, et les handler. À chaque fois. Tu n’économises pas de temps si tu ne le fais pas : tu conserves simplement des problèmes potentiels pour le futur.

On remonte des erreurs dans notre code de différentes façons.

Ne pas gérer les erreurs mène à :

De la même façon que tu devrais checker toutes les erreurs potentielles dans ton code, de même tu dis exposer toutes les conditions menant potentiellement à des erreurs dans tes interfaces. Ne les caches pas en prétendant que tes services seront toujours fonctionnels.

Pourquoi ne controlons-nous pas les erreurs ? Il y a un certain nombre d’excuses communes. Avec lesquelles es-tu d’accord ? Comment les contrer ?