Capítulo 14. Verificação em tempo de execução com pydantic
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
O tema central do código robusto é facilitar a deteção de erros. Os erros são uma parte inevitável do desenvolvimento de sistemas complexos; não os podes evitar. Ao escreveres os teus próprios tipos, crias um vocabulário que torna mais difícil a introdução de inconsistências. A utilização de anotações de tipos fornece-te uma rede de segurança, permitindo-te detetar erros durante o desenvolvimento. Ambos são exemplos de deslocação de erros para a esquerda; em vez de encontrar erros durante os testes (ou pior, em produção), encontra-os mais cedo, idealmente enquanto desenvolve o código.
No entanto, nem todos os erros são facilmente encontrados através da inspeção do código e da análise estática. Há toda uma classe de erros que só podem ser detectados em tempo de execução. Sempre que interages com dados fornecidos de fora do teu programa (tais como bases de dados, ficheiros de configuração, pedidos de rede), corres o risco de introduzir dados inválidos. O teu código pode ser sólido na forma como recupera e analisa os dados, mas não há muito que possas fazer para evitar que os utilizadores introduzam dados inválidos.
A tua primeira inclinação pode ser escrever muita lógica de validação: if instruções e verificações para ver se todos os dados introduzidos estão corretos. O problema é que a lógica de validação ...