Microsoft-ui-xaml: Pergunta: Por que não há analisadores de código (ou linters) para a base de código?

Criado em 25 jul. 2019  ·  3Comentários  ·  Fonte: microsoft/microsoft-ui-xaml

Com base no número de comentários neste PR sobre estilo básico e formatação de código, fiquei surpreso ao ver que não há analisadores (ou equivalentes) configurados para verificar automaticamente problemas como o uso de espaços em branco ou convenções de nomenclatura.

Existe uma razão para que eles não possam ser adicionados?

Haveria dois benefícios imediatos:

  1. O código seria formatado de forma consistente, o que ajuda na leitura, compreensão e manutenção.
  2. Isso significaria que as revisões de código não são distraídas por questões triviais e podem se concentrar no código. Isso pode reduzir o número de comentários de código e evitar que questões valiosas se percam entre várias discussões sobre linhas em branco.

A desvantagem de adicionar essas verificações de formatação automática pode ser que o código existente não atende a nenhum conjunto de regras e, portanto, ativá-lo sinalizaria um grande número de problemas.
Se for esse o caso, as regras podem ser ativadas (ou analisadores adicionados) quando um projeto está sendo alterado (ou adicionado), portanto, nem tudo é feito de uma vez.
Como alternativa, as inconsistências de formatação são normalmente fáceis de corrigir e, portanto, pode levar apenas algumas horas (com base em minhas experiências anteriores com outros grandes projetos) para resolver o que é encontrado como ferramentas normalmente podem corrigir automaticamente a maioria deles e, portanto, são apenas as exceções que precisam de manual intervenção ou revisão.
Não é o trabalho mais empolgante de se fazer, mas agrega valor ao longo do tempo.
A cobertura de código existente deve tornar essa alteração de baixo risco.

question

Todos 3 comentários

Eu acho que o editorconfig poderia ser melhorado ou talvez adicionado FxCopAnalyzers .

Eu estava pensando em StyleCop.Analyzers para o código C #. Não tenho certeza do que é melhor para C ++ embora.

Não tenho certeza do que é melhor para C ++ embora.

@RanjeshJ está trabalhando para habilitar o clang-tidy e o clang-format para rodar na base de código e acho que isso deve ajudar no C ++. O MSVC simplesmente não tem um bom linter, tanto quanto vimos.

Para C #, há o novo editorconfig que configuramos e deve entrar em vigor nos arquivos C #. Se houver mais coisas estilísticas para C # que precisam ser adicionadas lá, podemos fazer isso. E então, se algo como o StyleCop ajudasse a ir ainda mais longe, podemos executá-lo também. Mas eu não vi tantos detalhes em C #, então acho que o editorconfig está fazendo seu trabalho.

Esta página foi útil?
0 / 5 - 0 avaliações