Ferramentas para verificar duplicados VB.NET o código?
-
20-09-2019 - |
Pergunta
Gostaria de obter uma rápida sensação de quanto "copiar e colar" codificação temos, existem muitas ferramentas para C# / Java para verificar esse tipo de coisa.Existem ferramentas que funcionam bem com VB.NET?
(Eu vi que parece a muitos de código repetido, mas desejo de obter algum número para me ajudar a fazer um caso para classificar para fora)
Atualização sobre o progresso.
Eu apenas tentei Símia.
- Ele não parece ser capaz de produzir um bem formatado relatório, posso enviado por e-mail
- Não lidar quando os nomes de variáveis locais ou parâmetros, etc pode ter sido alterado, e.g ele só corresponde em linhas de texto a ser o mesmo.
Clone Médico não suporta VB.NET (só C# e VB 6 e muitas outras)
Outubro de 2010:VB.net adicionado idiomas suportados pelo CloneDR
Clone Detective para o Visual Studio só suporta C#
SolidSDD - Fonte De Duplicação De Código Detector De só suporta C, C++, C# e Java
DuplicateFinder é open source, mas o contrário parece muito correspondência como Símia, e.g ele só funciona em linhas de texto
ConQAT - Kit De Ferramentas De Avaliação De Qualidade Contínua parece ter um clone detector, que trabalha para VB.NET (não tentei ainda)
Policial é um pouco como o FXCop e tem um AvoidCodeDuplicatedInSameClassRule regra geral, este parece muito promissor, pois evita o problema de trabalho, no nível de texto. Apenas tentei isso, ele é a melhor solução até agora, pena que não procura com um escopo maior.
Antes de afirmar que esta questão é uma duplicata, por favor, verifique se o outro pergunta endereços VB.NET, como um monte de ferramentas que funcionam bem para C# não funciona tão bem para VB.NET.(No entanto, não me surpreenderia se essa pergunta é um verdadeiro duplicado)
Solução 9
Consulte a pergunta para as ferramentas que eu encontrei.
Outras dicas
CodeRush 11.2 introduziu um novo recurso chamado de Detecção de Duplicados e Consolidação (DDC)
Certifique-se de verificar para fora as opções para fazer isso, bem, como você pode executá-lo quando tantas linhas são alteradas, certamente, o tempo passou, etc.
Eles já postei algumas decente vídeos sobre o DevExpress site também.
[Eu sou o autor de CloneDR ("Clone Médico").]
CloneDR é parametrizada por uma gramática para a linguagem de programação em questão.Assim, não apenas a correspondência de linhas.Em vez disso, ele pode encontrar clones que são sintaticamente bem formada, com variações que são mais do que apenas o identificador de alterações, independentemente de onde eles parar ou iniciar em uma linha.
O mecanismo no qual CloneDR repousa, O DMS Software, Reengenharia Toolkit" é uma ferramenta para análise de sistemas de grande dimensão em qualquer linguagem de programação, e utiliza uma linguagem descrições a unidade de análise.DMS tem uma grande variedade de língua front-ends já disponíveis.
Atualmente ele tem VBScript e VB6 (como dialetos do "Visual Basic").Ele não tem VB.net, mas que seria muito simples de fazer, dada a DMS infra-estrutura e nossa experiência com muitos outros idiomas.
Assim, CloneDR poderia fazer isso muito bem, com um pouco de esforço da nossa parte.
EDIÇÃO de outubro de 2010:VB.net adicionado como uma linguagem CloneDR pode processar.
Atomiq suporta vb.net entre outras línguas, e os resultados são muito bem apresentados.
JetBrains publicado conjunto de ferramentas do console Resharper Ferramentas De Console para executar a duplicação de análise.Uma vez instalado, ele permite que você faça a mesma análise TeamCity e gerar duplicatas relatório localmente e até mesmo incluir a duplicatas a pesquisa em processo de compilação personalizada com o MSBuild.Esta ferramenta faz exatamente o que você precisa.Mais detalhes você pode encontrar aqui no JetBrains post de blog
Tente Símia:
Símia (Similaridade Analyser) identifica a duplicação em Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy código fonte e até mesmo arquivos de texto sem formatação.
Uma vez eu vi uma impressionante demonstração do Padrão de Visão;o seu CP Mineiro pode ser o que você está procurando: http://patterninsight.com/products/cp-miner.php.Parece ser independente de linguagem, apesar de eu não conseguia encontrar nada explícito sobre outras línguas que não o C/C++.
Arregaçar as mangas e escrever seu próprio analisador para usá-lo com CPD?