2010-08-19 58 views
0

是否有一種工具可以掃描您的代碼並根據它找到的重複代碼段提示要執行哪些重構?假設我對C#/ Java特別感興趣,但我也開放了其他語言的工具。自動重構工具?

回答

1

我還沒有使用它,但Clone Doctor可能適合你。

+1

CloneDR會爲每個重複的代碼塊顯示帶有參數綁定(「參數」)的代碼的參數化版本。把它變成一個函數調用或宏是很容易的。 – 2012-05-10 12:05:54

1

對於Java,您可以使用靜態代碼審閱工具來搜索違反一組選定規則的情況,其中一些規則涉及代碼重複。 Checkstyle有規則來查找重複的代碼和重複的字符串文字。另一種選擇是PMD複製/粘貼檢測器

這些工具不會自行重構,但可以幫助您查找可能需要更改的代碼。

1

對於Haskell,有hlint,它提出了具體的重構(即結果代碼),這可能是因爲參照透明性。

0

您的需求,Designite可能是一個有用的工具。這是一個軟件設計質量評估工具。它需要C#代碼,分析代碼並檢測代碼中的設計異味。同時,它還提供了一些但重要的OO指標。