đŽ Dijkstra est une personnalitĂ© du dĂ©veloppement. Il est notre Confucius, largement citĂ©, rarement lu. Un de ses plus cĂ©lĂšbres papiers, The Humble Programmer raconte son histoire avec la programmation. Dans sa seconde partie, il disserte sur lâavenir de notre profession et sa condition de survie : atteindre la performance. Cela signifie que les dĂ©veloppeurs ne doivent pas passer la majoritĂ© de leur temps Ă dĂ©bugger, donc que les dĂ©veloppeurs ne doivent plus mettre de bugs dans leurs programmes, tout simplement.
đ Comment atteint-on cette performance ? En crĂ©ant des programmes intellectuellement maniables. Comment fait-on cela ? En remettant la cĂ©lĂšbre citation de Dijkstra dans son contexte : âTester peut ĂȘtre une maniĂšre efficace de trouver des bugs, mais jamais de prouver leur absenceâ.
đ§Ș Dijkstra parle ici des tests manuels aprĂšs le dĂ©veloppement. Il recommande plutĂŽt de dĂ©velopper la preuve de validitĂ© et le programme main dans la main, car il sâagit de la seule maniĂšre de ne pas avoir de bugs. Un programme dont les tests sont lâultime spĂ©cification nâa pas de bugs, seulement des tests manquants. Il suffit dâĂ©crire ces tests pour ne jamais voir revenir ce âbugâ.
â»ïž Mieux, lorsque lâon a Ă©crit une preuve de validitĂ©, il est possible dâitĂ©rer afin de trouver le programme valide le plus intellectuellement maniable. Le mot ârefactoringâ nâexiste pas encore, mais le concept est posĂ©. Alors, Dijkstra, un prĂ©curseur de TDD ?
SOURCE
Edsger W. Dijkstra, The Humble Programmer, ACM Turing Lecture 1972, EWD340
Enzo Sandré
đ Lien public