Skip to Main Content
Python robusto
book

Python robusto

by Patrick Viafore
September 2024
Intermediate to advanced content levelIntermediate to advanced
380 pages
10h 24m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from Python robusto

Capítulo 11. Definir tus interfaces

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Has aprendido a crear tus propios tipos definidos por el usuario, pero crearlos es sólo la mitad de la batalla. Ahora los desarrolladores tienen que utilizar realmente tus tipos. Para ello, utilizan la API de tus tipos. Es el conjunto de tipos y funciones relacionadas, junto con cualquier función externa, con el que interactúa un desarrollador para utilizar tu código.

Una vez que pongas tus tipos a disposición de los usuarios, esos tipos se usarán (y abusarán) de formas que nunca habías pensado. Y una vez que los desarrolladores dependan de tus tipos, será difícil cambiar su comportamiento. Esto da lugar a lo que yo llamo la Paradoja de las Interfaces de Código:

Tienes una sola oportunidad de hacer bien tu interfaz, pero no sabrás que es correcta hasta que se utilice.

En cuanto los desarrolladores utilizan los tipos que creas, pasan a depender del comportamiento que esos tipos engloban. Si intentas hacer un cambio incompatible con el pasado, potencialmente romperás todo el código de llamada. El riesgo de cambiar tu interfaz es proporcional a la cantidad de código externo que depende de ella.

Esta paradoja no se aplica si controlas todo el código que depende de tu tipo; puedes cambiarlo. Pero en cuanto ese tipo llegue a producción, y la gente empiece a utilizarlo, te resultará difícil cambiarlo. En una gran base de código, donde ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Potente Python

Potente Python

Aaron Maxwell
Escalando Python con Dask

Escalando Python con Dask

Holden Karau, Mika Kimmins

Publisher Resources

ISBN: 9781098188108Supplemental Content