【发布时间】:2012-03-17 23:34:01
【问题描述】:
在 Java 中,我认为将字符串文字替换为常量变量是一种最佳实践,只要它们在多个地方使用并期望匹配。例如,如果您要设置一个 cookie,然后再将其读回,则 cookie 的名称应该是一个常量,以便编译器可以帮助您捕获拼写错误,更不用说允许您拥有一个可读的变量名与字符串的实际值相比。
我正在审查 JavaScript 中的一些类似代码,我倾向于建议将文字替换为常量。但是,我不确定是否适用相同的原因,因为没有编译器,并且 cookie 名称与变量名称一样具有描述性。
编辑:与到目前为止收到的 cmets 和响应有关,我肯定更关心常量的使用而不是它们的实际实现方式。我将它们在 Java 和其他编译语言中的价值视为防止错误的一种方式,但我不确定我在 Javascript 中看到相同的价值。
作为一种文档机制,比如幻数,我认为拥有一个命名变量(即使它没有作为常量强制执行)仍然是提高可读性的好方法。但是对于字符串文字,我不确定:
var trackingCookieName = "trackingCookie";
比仅仅使用“trackingCookie”更好,因为你可以拼写文字或变量名,无论哪种方式,它只会在运行时被捕获。
【问题讨论】:
标签: javascript constants