【发布时间】:2012-03-14 02:48:01
【问题描述】:
我正在使用 ColdFusion 8 和 9。
我昨天阅读了一些 ColdFusion 最佳实践。我遇到了一个建议尽可能始终使用 CFSCRIPT 的部分。原因是每个 CFSET 都是一个单独的请求,需要由服务器打开和关闭(或类似的东西)。由于 CFSCRIPT 是作为单个代码块处理的,因此只需要打开和关闭一次,从而减少服务器进程的时间。此建议是针对 ColdFusion 5 明确给出的。
我想知道这个建议在将近十年后的今天是否适用。就个人而言,我 99% 的时间都在使用 CFSCRIPT。但是,我确实与只使用标签的人一起工作。在我正在进行的一个项目中,我在一个函数中遇到了这段代码:
<cfset LOCAL.TrackingInfo = structnew()>
<cfset LOCAL.TrackingInfo.referral = CGI.HTTP_REFERER>
<cfset LOCAL.TrackingInfo.ipaddress = CGI.REMOTE_ADDR>
<cfset LOCAL.TrackingInfo.useragent = CGI.HTTP_USER_AGENT>
<cfset LOCAL.TrackingInfo.querystring = CGI.QUERY_STRING>
我会将其修改为如下所示:
<cfscript>
LOCAL.TrackingInfo = structNew();
LOCAL.TrackingInfo.referral = CGI.HTTP_REFERER;
LOCAL.TrackingInfo.ipaddress = CGI.REMOTE_ADDR;
LOCAL.TrackingInfo.useragent = CGI.HTTP_USER_AGENT;
LOCAL.TrackingInfo.querystring = CGI.QUERY_STRING;
</cfscript>
对我来说,好处是可读性。而且,在 CFSCRIPT 和 JavaScript 和 Java(我做过的小 Java)之间来回切换真的很容易。
使用 CFSCRIPT 是否有明显的可读性或性能优势?非初学者有什么理由继续使用 CF 标签吗?
【问题讨论】:
-
个人认为,基于标签的语言与JS等不同,增强了它的可读性。我看着一个,我立即知道我在哪一个工作。
-
我更喜欢 cfscript 只是因为我不必输入那么多(
<cfset ... />一遍又一遍地让人厌烦)。我倾向于只在我的视图中使用标签,并将我的控制器/模型保存在脚本中。 -
当您必须与具有 C# 背景的开发人员进行代码审查时,使用 cfscript 也很有用。一些开发人员发现阅读传统的 cfml 很困难
标签: coldfusion coldfusion-9 coldfusion-8 coldfusion-7