MVCコードを調べると、次のようなコードスニペットに遭遇することがよくあります。
return RedirectToAction("Index");
<li>@Html.ActionLink("Books", "Index", "Books")</li>
ここで、コントローラー名、コントローラーアクション名、またはビュー名は、ハードコードされた文字列として提供されます。これは一般的な方法ですが、良い方法ですか?結局のところ、コントローラーの名前を変更し、多くの参照の1つを名前変更するのを忘れると、はるかに好ましいコンパイル時エラーではなく、実行時エラーが発生します。
BaseControllerに静的なNameプロパティを追加し、次のようにコードを使用することで、この問題を軽減できる可能性があります(アクション名の実行は少し難しくなります)。
<li>@Html.ActionLink("Books", "Index", BooksController.Name)</li>
したがって、このハードコーディングは、(MVCを使用しないよりも)それほど悪ではないと見なされるべきものです。それとも、人々はそれを回避するためのいくつかの実践を開発しましたか?