当查看MVC代码时,您经常会遇到以下代码片段:
return RedirectToAction("Index");
<li>@Html.ActionLink("Books", "Index", "Books")</li>
在编写代码时,通常会将控制器名称、控制器操作名称或视图名称作为硬编码字符串提供。这是一种常见的做法,但这是一个好习惯吗?毕竟,如果您重命名控制器并忘记重命名其中的某个引用,您将得到运行时错误,而不是更喜欢的编译时错误。
您可以通过向BaseController添加静态Name属性来缓解此问题,然后使用以下代码(操作名称可能稍微更难实现)。
<li>@Html.ActionLink("Books", "Index", BooksController.Name)</li>
那么,硬编码是应该被视为较小的恶(而不是不使用MVC)吗?或者人们开发了一些实践来解决它?