我正在重構一個非常大的項目,我有興趣搜索和減少代碼克隆以獲得更好的標準化以及易於開發。VB.NET「修復」代碼克隆
我有一段代碼片斷,它繼續出現在「精確匹配」中(使用Visual Studio 2012的 「查找代碼克隆」功能)。
這就是:
End If
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Using
End Using
Return Nothing
基本上,我有類似的函數(在實際的功能在結構上類似,但並不)所有打開的像這樣的東西一大堆:
Const sql As String = ...
Using cn As SqlConnection...
Using cmd As SqlCommand(sql,cn)
... Maybe add some SqlParameters
cn.Open()
... Something with cmd.Execute...
現在,我認識到,第一個代碼塊是IDENTICAL跨越很多很多方法,但我無法找出一種方法來拉出代碼,寫一次,並簡單地調用它,每次我需要這個功能。在我看來,有太多的控制流量發生。因此,我很難理解如何解決這個問題(我只是假設我可以「解決」這個問題,因爲微軟已經將它確定爲「克隆代碼」)。
我正在考慮做一些東西沿着做一些功能,如類型的東西(如從表中返回一個計數,返回一個頂級值,等等),只有真正因執行的SQL而有所不同。不過,這可能有點棘手,因爲有時參數(類型和數量)不同。
有什麼想法?
再次,你的知識和智慧是無價的!謝謝! – mbm29414