13

「コピー アンド ペースト」コーディングがどれだけあるかを簡単に把握したいと思います。C# / Java でこの種のことをチェックするためのツールはたくさんあります。VB.NET でうまく動作するツールはありますか?

(私は多くの繰り返しコードのように見えるものを見てきましたが、それを整理するためのケースを作るのに役立ついくつかの数字を取得したいと考えています)


進行状況を更新します。

シミアンを試してみました。

Clone Doctorは VB.NET をサポートしていません (C# と VB 6 およびその他多数のみ)
2010 年 10 月: CloneDR がサポートする言語に VB.net が追加されました

Clone Detective for Visual Studioは C# のみをサポートします

SolidSDD - ソース コード重複検出ツールは、C、C++、C#、および Java のみをサポートします

DuplicateFinderはオープン ソースですが、その他の点では Simian と非常によく似ています。たとえば、テキスト行でのみ機能します。

ConQAT - Continuous Quality Assessment Toolkit には、VB.NET で動作するクローン検出機能があるようです(まだ試していません) 。

Gendarmeは FXCop に少し似ており、AvoidCodeDuplicatedInSameClassRuleルールがあります。これは、テキスト レベルでの作業の問題を​​回避するため、非常に有望に見えます。 試してみたところ、これまでのところ最良の解決策ですが、より広い範囲で検索しないのは残念です。


この質問が重複していると主張する前に、 C#でうまく機能する多くのツールが VB.NET ではうまく機能ないため、他の質問がVB.NETに対応していることを確認してください。(ただし、この質問が実際に重複していても驚かないでしょう)

4

9 に答える 9

3

CodeRush 11.2 では、Duplicate Detection and Consolidation (DDC) と呼ばれる新機能が導入されました。

http://community.devexpress.com/blogs/markmiller/archive/2011/11/29/duplicate-detection-and-consolidation-in-coderush-for-visual-studio.aspx

非常に多くの行が変更されたとき、確かに時間が経過したときなどに実行できるため、オプションも確認してください。

彼らは、DevExpress サイトにもまともなビデオをいくつか投稿しています。

于 2011-12-19T20:33:40.917 に答える
1

Atomiqは他の言語の中でも特に vb.net をサポートしており、結果は適切に表示されます。

于 2011-08-18T14:52:06.533 に答える
1

[私はCloneDR ("Clone Doctor")の作者です。]

CloneDR は、問題のプログラミング言語の完全な文法によってパラメーター化されます。そのため、単に線が一致するわけではありません。むしろ、行のどこで停止または開始するかに関係なく、単なる識別子の変更以上のバリエーションを持つ、構文的に整形式のクローンを見つけることができます。

CloneDR を支えるエンジンである「DMS ソフトウェア リエンジニアリング ツールキット」は、任意のプログラミング言語で大規模システムを分析するためのツールであり、言語記述を使用して分析を推進します。DMS には、さまざまな言語フロント エンドがすでに用意されています。

現在、VBScript と VB6 (「Visual Basic」の方言) があります。VB.net はありませんが、DMS インフラストラクチャと他の多くの言語での経験を考えると、それは非常に簡単です。

したがって、CloneDR はこれをうまく行うことができました。

EDIT 2010 年 10 月: CloneDR が処理できる言語として VB.net が追加されました。

于 2010-02-16T18:47:26.097 に答える
1

シミアン: http://www.redhillconsulting.com.au/products/simian/

于 2010-02-15T15:36:33.223 に答える
0

シミアンを試す:

Simian (Similarity Analyser) は、Java、C#、C、C++、COBOL、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovy ソース コード、さらにはプレーン テキスト ファイルの重複を識別します。

于 2010-02-15T15:36:42.833 に答える
0

以前、Pattern Insight の印象的なデモを見たことがあります。その CP Miner は、あなたが探しているものかもしれません: http://patterninsight.com/products/cp-miner.php。C/C++ 以外の言語について明示的なものは見つかりませんでしたが、言語に依存しないようです。

于 2010-10-22T17:56:26.203 に答える
-1

私が見つけたツールの質問を参照してください。

于 2010-03-10T15:07:32.593 に答える
-1

袖をまくり上げて、 CPDで使用する独自のパーサーを作成しますか?

于 2010-02-17T08:57:40.277 に答える