Chapitre 11. Définir tes interfaces
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
Tu as appris à créer tes propres types définis par l'utilisateur, mais les créer n'est que la moitié de la bataille. Les développeurs doivent maintenant utiliser tes types. Pour ce faire, ils utilisent l'API de ton type. Il s'agit de l'ensemble des types et des fonctions associées, ainsi que des fonctions externes, avec lesquels un développeur interagit pour utiliser ton code.
Une fois que tu auras présenté tes types aux utilisateurs, ces types seront utilisés (et abusés) d'une manière à laquelle tu n'aurais jamais pensé. Et une fois que les développeurs dépendent de vos types, il sera difficile de changer leur comportement. Cela donne lieu à ce que j'appelle le paradoxe des interfaces de code:
Tu as une seule chance de réussir ton interface, mais tu ne sauras pas qu'elle est bonne tant qu'elle n'aura pas été utilisée.
Dès que les développeurs utilisent les types que tu as créés, ils dépendent du comportement que ces types englobent. Si tu essaies de faire un changement incompatible avec le passé, tu risques de casser tout le code appelant. Le risque de modifier ton interface est proportionnel à la quantité de code extérieur qui en dépend.
Ce paradoxe ne s'applique pas si tu contrôles tout le code qui dépend de ton type ; tu peux le changer. Mais dès que ce type sera en production et que les gens commenceront à ...