ASP.NET MVC和Strings不会给我编译时错误

时间:2010-03-08 14:43:28

标签: asp.net-mvc model-view-controller process compiler-errors

我是编辑错误的粉丝。我发现比运行时错误更容易修复。我目前正在使用ASP.NET MVC框架,我发现它有很多错位,编译器无法捕获。

例如,如果我想从Data操作返回视图Index

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

很容易被错误输入

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

并且在我执行该操作之前不会给出错误。

有没有人设计过一种在编译时检查这些东西的方法?我想出了两个可能的解决方案:

  • 创建一个所有操作名称为常量的静态类,并将其用于视图名称。我会有一个编码规则,只说使用常量。如果我更改视图名称,我必须更新该类。
  • 大量的单元测试只是为了确保每个控制器操作都返回一个有效的ActionResult,并在我做出更改时随时运行它们。

您实施了哪些流程来帮助管理此风险?是否有任何附加组件或框架可以缓解此问题?

1 个答案:

答案 0 :(得分:4)

T4MVC project(最近成为MvcContrib的一部分)致力于解决此问题。来自文档:

  

T4MVC是ASP.NET MVC的T4模板   创建强类型的应用程序   消除使用的助手   引用时的文字字符串   控制器,动作和视图。它   有助于使您的MVC代码更多   可维护,并给你   智能感知你通常会在哪里   没有。