2008-10-02 40 views
7

在Visual Studio 2008中,防止某些函數被允許使用的最簡單方法是什麼?具體來說,我正在試圖防止其他開發人員使用 「老派」 VB6風格的命令,如:防止VB.NET中的傳統函數調用

  • 萊恩
  • LCASE
  • 用Ucase
  • INSTR
  • InstrRev
  • 修剪
  • Mid

等等,等等......這個列表繼續下去。

我通常可以在手動代碼審查過程中捕獲這些數據,但有時候情況會一掃而空。此外,它不會對通常不會看到的舊代碼做任何事情。

我知道,從長遠來看,教育可能是最好的工具,但是有一些東西可以補充/強化它,這將是很好的。

+0

沒有冒犯,但爲什麼? – MarkJ 2009-03-05 15:00:56

+0

@MarkJ,主要是所有人都可以習慣從可能被折舊的東西切換到更新的VB.NET等價物。這可能會讓我們稍後在升級或轉換其他人維護代碼的過程中減少問題。 – 2009-03-05 16:22:36

回答

6

我不知道你是否可以爲這種事情設置一個編譯器標誌,但是你可以定義像FxCop這樣的自定義規則來檢查。這裏有一些關於writing custom rules的文檔。

1

您可以使用類似於FxCop的工具來查看NAnt腳本中的代碼和一般警告或錯誤。

2

我認爲這是一個管理問題,通常技術解決方案會失敗。

爲開發人員提供編碼標準,在代碼評論中強制執行。如果您有人負責審閱開發人員提供的補丁,請確保他們使用您不想看到的功能拒絕補丁。

0

也許另一種選擇是將預生成事件添加到VS,刪除對Microsoft.VisualBasic.Compatibility的引用。然後任何這樣的用法將被完全地弄糟:-)

2

連接FxCop到您的構建並且它標記那些用法。您可以編寫自己的規則來自動執行編碼標準。