Designing Reusable Classes

✒ Enzo SandrĂ© · 📆 25/02/2025 · 👔 Avis d'expert · #ïžâƒŁ Façonnage de code

🧊 Certains papiers sont des instantanĂ©s des erreurs de leur Ă©poque et mĂ©ritent leur place ici principalement pour cela. Le dĂ©but de celui-ci est une description claire et impeccable de ce qu’est l’orientĂ©-objet Ă  la fin des annĂ©es 80. Presque rien n’a changĂ© depuis, seulement quelques additions mineures.

🔗 La suite porte sur les frameworks : ils y sont correctement dĂ©crits comme Ă©tant plus que de simples boĂźtes Ă  outils. Tout framework lie irrĂ©vocablement le code qui l’utilise Ă  une architecture. L’auteur rappelle une distinction aujourd’hui oubliĂ©e entre frameworks white-box et black-box, les premiers ayant presque disparu du marchĂ©.

✅ La fin du papier liste des “bonnes pratiques” de l’époque, certaines aujourd’hui rĂ©futĂ©es. L’usage de hiĂ©rarchies d’hĂ©ritage profondes est recommandĂ©e, alors que nous savons dĂ©sormais que le nombre de niveaux d’hĂ©ritage est corrĂ©lĂ© au nombre de bugs. La crĂ©ation d’un maximum de code gĂ©nĂ©rique et mĂȘme de frameworks y est encouragĂ©e, bien que dĂ©crite comme dangereuse, afin de rĂ©utiliser au maximum le code. Aujourd’hui il est recommandĂ© d’attendre qu’un besoin de rĂ©utilisation existe pour entamer une telle dĂ©marche.

🧑‍🔬 Il est dommage que l’auteur n’ait pas cherchĂ© de preuves de l’efficacitĂ© de ces diffĂ©rentes rĂšgles, mais se soit simplement fait l’écho de l’esprit du temps.

SOURCE

Johnson, Ralph & Foote, Brian. (1988). Designing Reusable Classes. Journal of Object-Oriented Programming.

Enzo Sandré


📄 Lien public