Notebook icon. This icon is part of the Gnote project, licensed under the GPLv3.

Code Review do Querido Diário

GitHub CLI e uma checklist

Edited April 02, 2024

As sugestões feitas aqui foram incluídas na documentação do projeto. PRs: #928 e #1120

Um contexto

O Querido Diário é um projeto da Open Knowledge Brasil para tornar acessível o conteúdo dos diários oficiais dos municípios brasileiros, e desde junho, estou colaborando como desenvolvedora. Comecei criando raspadores e, neste mês, me juntei a outros colaboradores para participar do Grupo de Trabalho, que tem como objetivo acelerar o desenvolvimento da plataforma. O foco desse GT são os raspadores dos diários, mas há outros dois: front-end e processamento de dados. Entre no servidor do Discord da OKBR e considere colaborar.

Aqui, uma sugestão de fluxo de trabalho durante um CR.

Git puro é legal, mas...

Se pode facilitar a minha vida, eu quero.

  • Instale e configure o GitHub CLI
  • acesse a branch com o comando:

$ gh pr checkout <pull_request_id>

  • ou, no Pull Request, copie o comando já com o ID:

    Exemplo de Pull Request

  • pronto! É só revisar o raspador.

Checklist

Revisão de raspadores do Querido Diário:

  • funcionamento

  • [ ] raspagem de todos os diários (sem argumentos)

    • [ ] com argumento start_date
    • [ ] com argumentos start_date e end_date
  • [ ] log sem log_count/ERROR
  • [ ] use a tabela de raspagem
    • -o <city>.csv
  • [ ] verifique se há arquivos corrompidos

    • aqui eu verifico três PDFs, no mínimo: um antigo, um no meio do período e outro mais recente
  • código

  • [ ] verifique se o raspador pode usar algum raspador base

  • [ ] class no estilo Pascal Case
  • [ ] uso de aspas duplas
    • "exemplo"
    • "exemplo='texto'"
  • [ ] variável start_date de acordo com o site do Diário Oficial
  • [ ] boas práticas no uso do XPath
    • evite "voltas" desnecessárias
  • [ ] legibilidade: se você teve dificuldade para entender alguma linha, ela pode ser melhorada (ou não)
  • [ ] código e comentários em inglês

  • feedback

  • [ ] comente nas linhas necessárias
  • [ ] envie um comentário apontando questões gerais e reforçando os comentários pontuais.

LGTM! 🚀

Referências


Pencil icon. This icon is part of the Gnote project, licensed under the GPLv3. Written by Claromes

Tag icon. This icon is part of the Gnote project, licensed under the GPLv3. português · github · open source

Comments? Ping me on Mastodon or Matrix
Share on Mastodon · Bluesky · Órbita · Hacker News · Email