• Python Software Foundation Fellow (Q3-2020) • Kauna da Python Brasil 2022 - Manaus • Na Bélgica desde 2006 • Nascido em Manaus/AM • Autor do livro Introdução à Programação com Python • Um dos organizadores do PyNorte • Ativo no telegram como @lskbr
diferentes +/- 8h de diferença • Sem peer-review • Mix de desenvolvedores experientes e novatos • Alguns são programadores Javascript ou de outras linguagens
dia do projeto • Política de zero warnings (avisos) • Clean Room (não deve dar erros ou avisos e se der tem que tratar) • Ferramenta: flake8 • Negociado com a equipe: aumento da largura de 79 para 120 caracteres
funções trabalham com tipos simples • O resto com classes que nós mesmos criamos • Ajuda com documentação • Ferramenta: mypy • Acha erros de digitação, variáveis não declaradas, não usadas, etc • Exemplo: def maiúsculas_no_inicio(palavra: str) -> str: return palavra.strip().upper()
todos os desenvolvedores seguem o mesmo padrão • Conflitos de formatação entre desenvolvedores • Convenções de linhas em branco • Adoção de um formatador automático • Formatações diferentes poluem os diffs • Ferramenta: yapf
diferentes e envolvimento diferente com cada solução • Testes como forma dar segurança aos desenvolvedores na hora de mudar o código ou adicionar novas funcionalidades • Novo teste para cada bug resolvido • Cobertura mínima de 80% • Ferramenta: pytest + pytest-cov
fonte • Possiblidade de adicionar texto formatado • Geração de html automática • Ferramenta: Sphinx • Política de documentação: necessário para instalar e rodar a aplicação. • Se parte da documentação estiver na wiki, incluir links na Wiki e vice-versa • Versionada com o código fonte
• Em caso de erros, o time tem que corrigir o quanto antes • Diz a lenda que quem quebra o build paga uma pizza • Ferramenta: Travis CI, Codecov (https://codecov.io/)