4

我編譯錯誤的風扇。我發現比運行時錯誤更容易修復。我目前使用ASP.NET MVC框架,並且發現編譯器無法捕獲的拼寫錯誤有很多空間。ASP.NET MVC和字符串不給我編譯時錯誤

例如,如果我想從Index動作返回視圖Data

public ActionResult Index() 
{ 
    return View("Data"); 
} 

可以很容易輸錯

public ActionResult Index() 
{ 
    return View("Dats"); 
} 

和,我去的行動不會給一個錯誤。

有沒有人想到在編譯時檢查這些東西的方法?我提出了兩種可能的解決方案:

  • 創建一個靜態類,其中所有操作名稱都是常量,並將其用於視圖名稱。我會有一個編碼規則,說只使用常量。如果我改變一個視圖名稱,這個弱點我必須更新這個類。
  • 大量的單元測試只是爲了確保每一個控制器的動作返回一個有效的ActionResult,並在我做出更改時隨時運行它們。

你們有什麼實現的過程,以幫助管理這種風險?有沒有任何附加組件或框架可以緩解這個問題?

+0

R·5可以幫助您與此有關。它不會給你一個錯誤(可能能夠以某種方式進行配置),但是如果有這個名字的視圖(你會得到一個下劃線),你會直接看到。如果你使用字符串版本的Url.Action()或者其他任何內置的幫助器,那麼它會做同樣的事情。 – 2010-03-08 14:53:45

回答

4

T4MVC project(最近成爲MvcContrib部分)工作來解決這個問題。從文檔:

T4MVC是ASP.NET MVC應用程序 創建強類型 助手指的 控制器,動作和視圖時消除使用 文字字符串T4模板。它 有助於使你的MVC代碼更 維護,併爲您提供 智能感知,你通常會 沒有。

+0

它可以與Visual Studio的高級版本一起使用嗎? – 2010-03-08 16:20:58