Kapitel 11. Definieren deiner Schnittstellen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Du hast gelernt, wie du deine eigenen benutzerdefinierten Typen erstellen kannst, aber das ist nur die halbe Miete. Jetzt müssen die Entwickler deine Typen auch benutzen. Dazu verwenden sie die API deines Typs. Das ist der Satz von Typen und zugehörigen Funktionen, zusammen mit allen externen Funktionen, mit denen ein Entwickler interagiert, um deinen Code zu verwenden.

Sobald du deine Typen den Nutzern zur Verfügung stellst, werden diese Typen auf eine Art und Weise verwendet (und missbraucht), an die du nie gedacht hast. Und wenn die Entwickler erst einmal auf deine Typen angewiesen sind, wird es schwer sein, ihr Verhalten zu ändern. Dies führt zu dem, was ich das Paradoxon der Codeschnittstellen nenne:

Du hast nur eine Chance, deine Schnittstelle richtig hinzubekommen, aber du wirst nicht wissen, ob sie richtig ist, bis sie benutzt wird.

Sobald Entwickler die von dir erstellten Typen verwenden, sind sie auf das Verhalten angewiesen, das diese Typen umfassen. Wenn du versuchst, eine rückwärtskompatible Änderung vorzunehmen, kann es passieren, dass du den gesamten aufrufenden Code kaputt machst. Das Risiko einer Änderung deiner Schnittstelle ist proportional zu der Menge an externem Code, der davon abhängt.

Dieses Paradoxon gilt nicht, wenn du den gesamten Code kontrollierst, der von deinem Typ abhängt; ...

Get Robustes Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.