1

私はColdFusion8および9を使用しています。

昨日、ColdFusionのベストプラクティスをいくつか読んでいました。可能な限り常にCFSCRIPTを使用するようにアドバイスするセクションに出くわしました。その理由は、各CFSETは個別の要求であり、サーバー(またはその効果のための何か)によって開閉される必要があるというものでした。CFSCRIPTは単一のコードブロックとして処理されるため、1回の開閉のみが必要であり、サーバープロセスにかかる時間が短縮されます。このアドバイスは、ColdFusion5に対して明示的に提供されました。

このアドバイスが今日、ほぼ10年後に当てはまるかどうか疑問に思います。個人的には、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タグを使い続ける理由はありますか?

4

2 に答える 2

4

これがCFチームに提起されたとき、cfscriptの使用にはごくわずかな違いがあると述べられましたが、それは非常に小さいので、誰もそれについて心配する必要はありません。これは、cfscript関数が(タグで)記述された方法であるため、追加の関数呼び出しに関連するわずかなコストがかかります。負荷テストや速度テストの種類に違いがあることに気づいたら、私は驚きます。

クイック編集:上記の例で使用しているものに違いはありません。私が行っているステートメントは、CF9の新しいcfscript言語の機能強化に関するものです。

于 2012-03-13T18:34:03.800 に答える
3

この言語の最新バージョンでは、実際の速度の違いはありません。誰が読んでいるかに完全に主観的な読みやすさに関する限り。私はさまざまなCFの人々と仕事をしています。それらの人々の中には、CFSCRIPTをフォローするのに本当に苦労している人もいれば、これまでに使用しようとしているすべての人もいます(ほとんどやり過ぎになるまで)。個人的には、あなたが最も快適なアプローチを採用し、一緒に仕事をしている人々のチームが受け入れられるアプローチでもあります。ここでの最終的な目標は、チームの全員が必要に応じて簡単に理解してサポートできるコードを作成することだと思います。読みやすさの議論の例は、あなたのCFSCRIPTブロックがこれほど読みにくいと言う誰かをここで知っているということかもしれません:

<cfscript>
    LOCAL.TrackingInfo  = { referral = CGI.HTTP_REFERER, 
                            ipaddress = CGI.REMOTE_ADDR, 
                            useragent = CGI.HTTP_USER_AGENT, 
                            querystring = CGI.QUERY_STRING };
</cfscript>

どちらか一方がもう一方より「正しい」とは思いませんが。個人的なコーディングスタイルの違い。

または、別の例では、すべてのCFタグが属性とともに大文字であると主張する1人の人と協力しています。彼らが述べた理由は、それが読みやすさに役立つということです。それがすべて大文字であるとき、私はそれが読みやすいか難しいとは思いません。どちらかといえば、これらの特定のプロジェクトのコードをいじるときに、シフトキットを押し続けるか、CapsLockを押すのは面倒だと思います。

于 2012-03-13T18:42:25.777 に答える