1

我在这里关注 MoviesMVC 的 MVC 教程,作者说了以下内容:

public string Index() 
{ 
    return "This is my <b>default</b> action..."; 
} 

目前,Index 方法返回一个字符串,其中包含在控制器类中硬编码的消息。更改Index方法返回一个View对象,如下代码所示:

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

好吧,好吧,所以他改变了函数的签名。但他为什么称它为硬编码?

4

5 回答 5

6

当您对某些东西进行硬编码时,它通常指的是诸如字符串值和其他设置之类的东西,它们是编译代码的一部分。

简而言之,如果您想更改Index方法返回的内容,则必须进行更改并重新编译。

另一种方法是使用配置文件进行设置,例如 app.config 和 web.config 文件。当涉及到某些字符串(用作用户接口消息)时,您可以使用资源文件来存储多语言字符串。

这些文件允许您对应用程序进行更改,而无需重新编译所有内容。这是需要的(通常),因为:

  1. 在生产环境中工作时,通常情况下您的代码可能会解决用户标记的问题。如果您需要重新编译和重新部署以对短信进行更改(这可能经常发生,尤其是在营销活动期间),必须重新编译代码来更改消息可能会导致不需要的更改,或者仍然存在的更改正在部署中。

  2. 某些客户可能有自己的营销人员,并希望让他们访问某些网站页面。如果他们可以在旅途中更改文本,通常可以节省他们通过开发公司的时间,这通常会带来更快乐的客户。

于 2014-04-22T06:01:14.660 回答
2

什么是硬编码的东西

当您在代码中编写某些内容并需要更改代码以更改值时,则称为硬代码。如果我们从任何来源(如数据库)加载内容,那么您不需要更改代码。有些内容可能不会像列标题那样改变,那么它们必须用代码(硬编码)编写。

硬编码(也称为硬编码或硬编码)是指将可能被视为输入或配置数据的内容直接嵌入程序或其他可执行对象的源代码或固定格式的软件开发实践的数据,而不是从外部来源获取该数据或使用给定的输入在程序本身中生成数据或格式化,参考

于 2014-04-22T06:00:50.173 回答
2
  1. 硬编码是当你直接给出一个值而不是使用一个变量时。变量可以在代码中的不同位置重复使用。所以最好不要硬编码。

  2. 建议使用 View 而不是直接提供字符串,因为它易于本地化和国际化。

  3. 此外,您不需要将代码重新编译成 DLL。您只需上传视图(aspx、ascx、cshtml 等),一切就开始工作了。

  4. 如果您不想使用视图,可以使用字符串资源并使用资源 id 而不是硬编码。

于 2014-04-22T06:09:10.343 回答
1

它只是意味着您正在打印结果或使用某些值,而不是从数据库或用户输入中获取它。

所以假设你正在使用这样的人名。string personName = [从数据库中获取值] string personName = [从用户输入中获取值]

比它还可以。

但是如果你像这样使用它

字符串 personName = "Smit"

比您只是对值进行硬编码。

于 2014-04-22T06:08:24.980 回答
1

可以构建他/她自己的ViewEngine并将其插入到 MVC 管道中。这将允许仅在执行后确定 HTML 内容。

当有人用字符串编写返回语句时,不可能修改该方法返回的 HTML 内容,因为它是不可更改的。

于 2014-04-22T06:03:04.730 回答