Capitolo 11. Definire le interfacce
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Hai imparato a creare i tuoi tipi definiti dall'utente, ma la creazione è solo metà della battaglia. Ora gli sviluppatori devono effettivamente utilizzare i tuoi tipi. Per farlo, utilizzano l'API del tuo tipo. Si tratta dell'insieme dei tipi e delle relative funzioni, insieme ad eventuali funzioni esterne, con cui lo sviluppatore interagisce per utilizzare il tuo codice.
Una volta che i tuoi tipi vengono messi a disposizione degli utenti, verranno utilizzati (e abusati) in modi che non avresti mai pensato. E una volta che gli sviluppatori dipendono dai tuoi tipi, sarà difficile cambiare il loro comportamento. Questo dà origine a quello che io chiamo il Paradosso delle Interfacce del Codice:
Hai un'unica possibilità per ottenere l'interfaccia giusta, ma non saprai che è giusta finché non la userai.
Non appena gli sviluppatori utilizzano i tipi da te creati, diventano dipendenti dal comportamento che quei tipi racchiudono. Se provi a fare una modifica incompatibile con il passato, potenzialmente romperai tutto il codice chiamante. Il rischio di cambiare la tua interfaccia è proporzionale alla quantità di codice esterno che dipende da essa.
Questo paradosso non si applica se controlli tutto il codice che dipende dal tuo tipo: puoi cambiarlo. Ma non appena quel tipo entra in produzione e le persone iniziano ...