Lei da Ferramenta de Pesquisa de Violação Demeter? [fechado
-
27-09-2019 - |
Pergunta
Alguém conhece uma ferramenta que eu poderia usar com um aplicativo C# para encontrar possíveis leis de violações de deméritas? Eu sei que isso daria muitos falsos positivos, mas acho que ainda poderia ser útil. Especialmente durante o processo de design inicial.
Solução
Se você está apenas procurando por something.somethingelse.violation
, então você pode usar o Visual Studio.
Na caixa de diálogo Localizar, verifique a caixa na parte inferior para "usar" e selecione "Expressões regulares".
Não muito robusto, mas você pode usar <[:a_]+\.([:a_]+\.)+[:a_]+
Para encontrar o padrão acima.
Uma ferramenta melhor seria grep
ou similar no diretório de soluções, para que você possa usar opções mais poderosas de regex, como o visual negativo, o que permitiria excluir coisas como using
diretivas e namespace
declarações.
Você provavelmente poderia escrever rapidamente um aplicativo .NET que repetiria um determinado diretório e pesquisaria os arquivos .Cs e/ou .VB para o mesmo, usando .NET Regex, que tem parentes, mas é claro que a vantagem de usar VS é que você permanece bem no editor de código -fonte.