我是一个编译错误的忠实拥护者。相比运行时错误,我发现编译错误更容易修复。我目前使用ASP.NET MVC框架,我发现它有很多错别字的空间,编译器无法捕捉到。
例如,如果我想从Index
操作返回视图Data
。
public ActionResult Index()
{
return View("Data");
}
容易打错
public ActionResult Index()
{
return View("Dats");
}
只有当我运行那个动作时,才会显示错误。
有没有人想出一种在编译时检查这些问题的方法? 我想出了两种可能的解决方案:
- 创建一个静态类,将所有动作名称定义为常量,并将其用于视图名称。我会制定一个编码规则,规定只使用常量。但这种方法的弱点是如果我更改一个视图名称,则必须更新该类。
- 编写大量单元测试,以确保每个控制器动作都返回有效的
ActionResult
,并在进行更改时运行这些测试。
您们实施了什么流程来帮助管理此风险? 有没有任何附加组件或框架可以缓解此问题?