Documentação e testes na prática

Princípios de Engenharia de Software em Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Documentando projetos com Sphinx

  Exemplo de Página Sphinx

Princípios de Engenharia de Software em Python

Documentando classes

class Document:
    """Analisa dados de texto

    :param text: texto para analisar

    :ivar text: texto originalmente passado para a instância na criação
    :ivar tokens: Lista de palavras analisadas do texto
    :ivar word_counts: Contador com a quantidade de hashtags usadas no texto
    """
    def __init__(self, text):
        ...
Princípios de Engenharia de Software em Python

Testes de integração contínua

    Logo do Travis CI

Exemplo de Saída do Travis - Falha

Princípios de Engenharia de Software em Python

Testes de integração contínua

  Exemplo de Saída do Travis - Sucesso

Princípios de Engenharia de Software em Python

Links e ferramentas adicionais

  • Sphinx - Gere documentação bonita
  • Travis CI - Teste seu código continuamente
  • GitHub & GitLab - Hospede seus projetos com git
  • Codecov - Descubra onde melhorar os testes dos seus projetos
  • Code Climate - Analise seu código para melhorias de legibilidade
Princípios de Engenharia de Software em Python

Vamos Praticar

Princípios de Engenharia de Software em Python

Preparing Video For Download...