3 pontos por GN⁺ 2023-10-25 | 1 comentários | Compartilhar no WhatsApp
  • Explica as vantagens e desvantagens de usar diff unificado e diff dividido em revisão de código
  • Diff unificado e diff dividido são adequados para mudanças simples e pequenas
  • Para mudanças grandes e complexas, diff unificado ou diff dividido não são ideais
  • O autor prefere revisar a base de código completa em um determinado momento, focando nas áreas alteradas recentemente, mas também fazendo uma revisão geral
  • O autor sugere que a visualização de diff ideal mostraria o estado atual do código à esquerda e, à direita, o diff unificado da base de código visível no momento, com as mudanças destacadas de forma sutil
  • Aponta que esse formato de revisão não é bem suportado pelas ferramentas existentes, que focam em revisar o diff em vez do código real
  • O autor usa um fluxo de trabalho de baixa tecnologia para esse estilo de revisão, com um script que verifica localmente o pull request. Esse script remove todos os commits do pull request, mas mantém todas as mudanças
  • O fluxo de trabalho do autor permite navegar e revisar facilmente os arquivos alterados e marcar os hunks revisados, mas carece de sincronização automática entre o buffer de status e o arquivo atualmente aberto no editor
  • O autor quer uma ferramenta que facilite revisar código dessa forma, sem precisar criar ferramentas ad hoc personalizadas para isso
  • O autor também observa que, embora o texto discuta como revisar código, o principal objetivo da revisão de código não é necessariamente revisar o código, e apresenta links para publicações relacionadas sobre esse tema

1 comentários

 
GN⁺ 2023-10-25
Comentários do Hacker News
  • Este artigo discute as diferenças entre diff unificado e diff dividido em revisão de código.
  • Alguns comentaristas argumentam que o tipo de revisão varia conforme a equipe e o ticket; alguns preferem uma checagem mental como segundo par de olhos, enquanto outros preferem uma revisão profunda e estrutural da funcionalidade antes do merge.
  • Uma ferramenta chamada difftastic é mencionada; ela usa diff estrutural para um destaque de diferenças mais granular.
  • Alguns comentaristas usam scripts com vim para revisar as mudanças ao abrir um PR para revisão.
  • A dificuldade da revisão de código em codebases grandes e complexas é destacada, e o problema está mais relacionado à cultura e ao compartilhamento de conhecimento do que às ferramentas.
  • Menciona-se que um dos recursos do GitHub, pressionar . para entrar em uma IDE completa no navegador, é útil para ver mudanças no contexto do arquivo inteiro.
  • Alguns comentaristas questionam a preferência do autor por remover contexto desnecessário no diff dividido, enquanto outros sentem falta de recursos de outras ferramentas, como p4merge.
  • Sugere-se usar o VSCode do GitHub no navegador para ver a visualização de diff, além de arquivos completos e diffs complexos de forma mais legível.
  • Meld é sugerido como uma ferramenta que funciona bem para esse caso de uso.