Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site |
|||||||||||||
(Sorry, this page has not been translated by the translator you selected.) Maître Bawan posait ce dilemme aux développeurs dont il avait la charge : “Lorsque nous enquêtons sur un comportement étonnant en production, notre arme la plus puissante a toujour été les messages de debug : plus on en a, plus ils sont détaillés, mieux nous nous en sortons. Mais quand on en utilise trop, le formatage de ces messages devient de plus en plus coûteux—inutilement coûteux, car nous retirons ces messages de nos fichiers journalisés quand nous ne sommes pas en cours d’enquête sur un de ces problèmes. Quel chemin est le meilleur ? Sûr mais lent, ou téméraire mais rapide ?” “Wú,” dit une nonne. “Tout peut être ajouté, pour un coût minime. Enveloppons chacun de ces appels de debug dans un if qui vérifie si le mode de débug est activé avant de s’embêter à faire le formatage du message. Nous ne serons ralentis que lorsque nous avons besoin de sûreté.” Bawan considéra cela, et semblait satisfait. Il invita la nonne à implémenter son approche dans une application qui était en ce moment en cours d’architecture. Comme récompense de sa subtilité, il lui offrit deux boîtes laquées. “Ouvrez la boîte rouge tout de suite,” dit Bawan, “mais gardez la noire bien scellée. Lorsque le temps sera venu, elle vous servira.” Dans la boîte rouge, la nonne découvrit un bol plein de succulents fruits : kiwi, lichi, poires blanches, le tout sur un lit de baies de Goji. Elle en apprécia le goût délicieux le soir même. Puis elle plaça les deux boîtes tout en haut d’une étagère, et finit par les oublier. Deux ans plus tard, après que le système a reçu plusieurs améliorations, un problème de production bénin apparut—le premier depuis de nombreuses livraisons. La nonne demanda à ce que le système soit redémarré en mode debug. Soudainement, sur l’écran de chaque utilisateur, apparurent des montagnes de suivis de pile d’erreurs, provenant de NullPointerExceptions. Le système était devenu complètement inutilisable. Tandis que la nonne se tenait effarée au milieu de ce chaos, maîre Bawan vint à son côté et murmura, “et maintenant, allez chercher la boîte noire.” Quand elle ouvrit le couvercle, une odeur immonde se répandit. À l’intérieur se trouvaient les résidus moisis et desséchés de ce qui avait un jour dû être des kiwis, lichis, poires et baies de Goji. La nonne demanda à ce que l’on arrête le mode debug, et ferma la boîte. Elle avait reçu l’illumination. Traduit par Sylvain Abélard. Un extrait de The Codeless Code, par Qi (qi@thecodelesscode.com). Distribué sous la Creative Commons Attribution-NonCommercial 3.0 Unported License. |