Como posso usar o Python para desenvolvimento em larga escala?

Eu estaria interessado em aprender sobre o desenvolvimento em larga escala no Python e, principalmente, sobre como você mantém uma base de código grande?

Quando você faz alterações de incompatibilidade na assinatura de um método, como encontra todos os locais em que esse método está sendo chamado. Em C ++ / Java, o compilador encontrará para você, como você faz em Python?

Quando você faz alterações profundas no código, como descobre quais operações uma instância fornece, já que você não tem um tipo estático para pesquisar?

Como você lida / evita erros de digitação (erros de digitação)?

Os UnitTest são usados como substitutos da verificação de tipo estático?

Como você pode imaginar, eu quase trabalhei apenas com linguagens de tipo estaticamente (C ++ / Java), mas gostaria de tentar minhas mãos no Python para programas maiores. Mas tive uma experiência muito ruim, há muito tempo, com o idioma clipper (dBase), que também foi digitado dinamicamente.

questionAnswers(8)

yourAnswerToTheQuestion