$30 off During Our Annual Pro Sale. View Details »

Conventional Commits

Conventional Commits

Ivan Rosolen

May 21, 2022
Tweet

More Decks by Ivan Rosolen

Other Decks in Technology

Transcript

  1. Conventional
    Commits

    View Slide

  2. Trabalho com tecnologia há 20+ anos.
    Apaixonado por padrões e resolver
    problemas complexos de maneira
    simples.
    Pai do Akira <3
    Tech Manager @ Trybe
    @ivanrosolen
    I
    Ivan Rosolen

    View Slide

  3. I
    Contexto

    View Slide

  4. Thread

    View Slide

  5. I
    Código

    View Slide

  6. Git
    https://twitter.com/jairhenrique/status/1288521050511335424

    View Slide

  7. Git
    https://twitter.com/marcelgsantos/status/1503471381345976321

    View Slide

  8. Git
    https://maisquesenior.substack.com/p/augusto-pascutti
    “... Minha visão sobre o Git, por exemplo, é de que ele é uma ferramenta
    de comunicação, e como tal oferece várias oportunidades de observação.
    Ter mais adições que subtrações de código, num longo período de tempo,
    pode significar ausência de refactors. Com Git dá para saber se existem
    silos de informação, se o tamanho (complexidade) dos commits está
    aumentando ou diminuindo, quais partes do código concentram muita
    responsabilidade etc ...”

    View Slide

  9. Conventional Commits

    View Slide

  10. Vantagens
    - Comunicar a natureza das mudanças para pessoas da equipe, o público
    e outras partes interessadas
    - Descrever o motivo que levou a alteração ou adição de algo no código
    - Facilitar a contribuição de outras pessoas em seus projetos, permitindo
    que elas explorem um histórico de commits mais estruturado e com
    melhor rastreabilidade
    - Evitar commits: "Fix", "Correções", "Ajustes" …
    - Facilitar o versionamento semântico e criação de CHANGELOG

    View Slide

  11. Conventional Commits
    ():


    View Slide

  12. Conventional Commits
    Tipo =>
    Escopo =>
    Corpo =>
    Rodapé =>
    lista definida
    funcionalidade ou contexto da aplicação
    Descrição do que foi feito
    Link de referência (ticket jira, issue github …)

    View Slide

  13. Conventional Commits
    static: alterações no conteúdo de arquivos estáticos (dados .json, imagens, etc)
    cd: Alterações em nossos arquivos e scripts de configuração para CD
    docs: somente alterações na documentação
    feat: um novo recurso
    fix: uma correção de bug da aplicação
    improve: alguma alteração de código que melhore o comportamento de um recurso
    perf: uma alteração de código que melhora o desempenho
    refactor: uma alteração de código que não corrige um bug nem adiciona um recurso
    style: alterações que não afetam o significado do código (espaço em branco, formatação,
    ponto e vírgula, etc)
    test: Adicionando testes ausentes ou corrigindo testes existentes

    View Slide

  14. Conventional Commits
    feat: um novo recurso
    fix: uma correção de bug da aplicação
    refactor: alteração de código, que não corrige um bug e nem altera a forma
    como o usuário utiliza a aplicação
    improve: alguma alteração de código que melhore o comportamento de um
    recurso
    test: adicionando testes ausentes ou corrigindo testes existentes

    View Slide

  15. I
    Exemplos

    View Slide

  16. git log --oneline --no-merges -n5

    View Slide

  17. git log --oneline --no-merges -n20

    View Slide

  18. Conventional Commits - Antes
    fix scroll

    View Slide

  19. Conventional Commits - Depois
    fix(lista-ofertas): ajusta barra de rolagem horizontal para usuários windows
    Como usuários de windows não tem magic mouse, a rolagem horizontal na
    lista de ofertas de um job ficou ruim.
    Foi criada uma verificação do sistema operacional para mudar o
    comportamento da rolagem horizontal para usuários de MAC e de Windows
    Issue TP-12345

    View Slide

  20. Conventional Commits - Antes
    novas regras

    View Slide

  21. Conventional Commits - Depois
    improve(regras-gpa): atualiza lista de regras de ofertas GPA
    Com base em uma planilha csv alterada pelo cliente e PM, foi modificado o
    conjunto de regras de campos do XML para vincular templates/dinâmica,
    utilizando as novas regras da ABA "Regras 08/07 (V1.12)"
    Issue 2154

    View Slide

  22. Conventional Commits - Antes
    observação em templates específicos

    View Slide

  23. Conventional Commits - Depois
    feat(regras-cfo): adiciona regra no campo observação em templates CFO
    Adiciona condição na regra para preencher o campo ‘Observaçao_de_oferta’
    para só executar em em dinamica XXX no template de YYYY.
    Texto padrão adicionado na constante:
    OBSERVACAO_REVISAO = '#Mesma marca, fabricante, tipo e preço de venda.';
    Issue TP-9911

    View Slide

  24. Referências
    https://maisquesenior.substack.com/p/augusto-pascutti
    https://www.conventionalcommits.org/pt-br/v1.0.0/
    https://gist.github.com/ivanrosolen/b5fc4f281b427949d24e849d982b888b
    https://unsplash.com (imagens)

    View Slide

  25. I
    Perguntas

    View Slide