Skip to Content
Python robusto
book

Python robusto

by Patrick Viafore
April 2025
Intermediate to advanced
380 pages
10h 16m
Portuguese (Portugal, Brazil)
O'Reilly Media, Inc.
Book available
Content preview from Python robusto

Capítulo 11. Definir as tuas interfaces

Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com

Aprendeste a criar os teus próprios tipos definidos pelo utilizador, mas criá-los é apenas metade da batalha. Agora, os programadores têm de utilizar efetivamente os teus tipos. Para isso, utilizam a API do teu tipo. Este é o conjunto de tipos e funções relacionadas, juntamente com quaisquer funções externas, com que um programador interage para utilizar o teu código.

Assim que colocares os teus tipos à disposição dos utilizadores, esses tipos serão utilizados (e abusados) de formas que nunca imaginaste. E quando os programadores dependerem dos teus tipos, será difícil mudar o seu comportamento. Isto dá origem ao que eu chamo o Paradoxo das Interfaces de Código:

Tens uma oportunidade de acertar na tua interface, mas só saberás que está bem quando for utilizada.

Assim que os programadores utilizam os tipos que criaste, passam a depender do comportamento que esses tipos englobam. Se tentares fazer uma alteração incompatível com o passado, poderás quebrar todo o código de chamada. O risco de alterar a tua interface é proporcional à quantidade de código externo que depende dela.

Este paradoxo não se aplica se controlares todo o código que depende do teu tipo; podes mudá-lo. Mas assim que esse tipo entrar em produção e as pessoas começarem a usá-lo, terás dificuldade em mudar. Em uma grande base de código, onde a robustez e ...

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

Introdução à aprendizagem automática com Python

Introdução à aprendizagem automática com Python

Andreas C. Müller, Sarah Guido
Python de alto desempenho, 3.ª edição

Python de alto desempenho, 3.ª edição

Micha Gorelick, Ian Ozsvald

Publisher Resources

ISBN: 9798341642676Supplemental Content