我編譯錯誤的大風扇。我發現比運行時錯誤更容易修復。我目前使用ASP.NET MVC框架,並且發現編譯器無法捕獲的拼寫錯誤有很多空間。ASP.NET MVC和字符串不給我編譯時錯誤
例如,如果我想從Index
動作返回視圖Data
。
public ActionResult Index()
{
return View("Data");
}
可以很容易輸錯
public ActionResult Index()
{
return View("Dats");
}
和,我去的行動不會給一個錯誤。
有沒有人想到在編譯時檢查這些東西的方法?我提出了兩種可能的解決方案:
- 創建一個靜態類,其中所有操作名稱都是常量,並將其用於視圖名稱。我會有一個編碼規則,說只使用常量。如果我改變一個視圖名稱,這個弱點我必須更新這個類。
- 大量的單元測試只是爲了確保每一個控制器的動作返回一個有效的
ActionResult
,並在我做出更改時隨時運行它們。
你們有什麼實現的過程,以幫助管理這種風險?有沒有任何附加組件或框架可以緩解這個問題?
R·5可以幫助您與此有關。它不會給你一個錯誤(可能能夠以某種方式進行配置),但是如果有這個名字的視圖(你會得到一個下劃線),你會直接看到。如果你使用字符串版本的Url.Action()或者其他任何內置的幫助器,那麼它會做同樣的事情。 – 2010-03-08 14:53:45