2012-03-13 4 views
1

저는 ColdFusion 8과 9를 사용하고 있습니다.CFSCRIPT 대 태그를 사용하면 확실한 성능 또는 가독성 이점이 있습니까?

어제 ColdFusion 모범 사례를 읽었습니다. 가능할 때마다 항상 CFSCRIPT를 사용하도록 권유 된 섹션을 발견했습니다. 그 이유는 각 CFSET은 별도의 요청이며 서버 (또는 그 효과가있는 것)에 의해 열리고 닫히는 것이 필요하다는 것입니다. CFSCRIPT는 단일 코드 블록으로 처리되므로 하나의 열기 및 닫기 만 필요하므로 서버 프로세스에 소요되는 시간이 단축됩니다. 이 조언은 ColdFusion 5에 명시 적으로 주어졌습니다.

거의 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> 

I는 다음과 같이 그것을 수정 것 : 나를 위해

<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 태그를 계속 사용하는 이유가 있습니까?

+0

개인적으로 태그 기반 언어는 JS 등과 다르므로 가독성을 높일 수 있습니다. 나는 하나를보고 어떤 것이 내가 일하고 있는지 즉시 알 수있다. –

+0

또한보십시오 : http : // stackoverflow.com/q/1312223/21960 – ale

+0

cfscript는 단순히 입력 할 필요가 없기 때문에 (' '가 반복적으로 사용하기 때문에). 내보기에는 태그 만 사용하고 내 컨트롤러/모델은 스크립트로 유지하는 경향이 있습니다. –

답변

3

최신 버전의 언어에서는 속도 차이가 없습니다. 지금까지 독서를하고있는 사람에게 완전히 주관적인 가독성까지. 나는 다양한 CF 사람들과 일한다. 그 사람들 중 일부는 CFSCRIPT를 따르는 데 아주 힘든 시간을 보냈고, 다른 모든 것들은 (거의 과도한 수준까지) 사용하려고 시도했습니다. 개인적으로 나는 당신에게 접근하는 것이 가장 편안하다고 말하고, 함께 일하는 사람들의 팀이 받아 들일 수있는 접근 방식이기도합니다. 여기 궁극적 인 목표는 팀의 모든 사람이 필요할 때 쉽게 이해하고 지원할 수있는 코드를 생성하는 것입니다. 당신이 중 하나가 다른 것보다 "더 잘"비록

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

나는 생각하지 않는다 : 가독성 인수의 예는 내가 당신의 CFScript의 블록이로 읽을 수없는 말을하는 여기에 사람을 알고있을 수 있습니다. 개인 코딩 스타일의 차이점.

또 다른 예로 저는 모든 CF 태그가 속성과 함께 대문자로되어 있다고 주장하는 한 사람과 작업합니다. 그들의 명시된 이유는 가독성에 도움이된다는 것입니다. 모든 대문자로 읽었을 때 더 쉽게 읽을 수는 없습니다. 무엇이라도 나는 그 특별한 프로젝트에 관해서 코드를 망칠 때 항상 쉬프트 킷을 누르고 있거나 모자 잠금 장치를 누르는 것만으로 혼란을 느낀다.

4

cfscript 사용시 무시할 수있는 차이점이 있지만, 너무 작아서 아무도 걱정할 필요가 없다고 CF 팀에 제기되었습니다. 이것은 cfscript 함수가 태그로 작성된 방식이되어 여분의 함수 호출과 관련된 작은 비용이 발생합니다. 어떤 종류의 하중이나 속도 테스트에서 차이가 나는 것을 발견하면 놀랄 것입니다.

빠른 편집 : 위의 예제에서 사용하고있는 내용은 아무런 차이가 없습니다. CF9의 새로운 cfscript 언어 향상 기능에 대해서만 설명하고 있습니다.

+0

답변 주소를 읽는 것이 어렵다는 것을 알고 있습니다. 가독성은 어떻습니까? CFML은 하루 종일 HTML을 처리하면 작성하기가 더 쉽습니다. 자바 스크립트를 다루는 경우 태그는 외모로 보일 수 있지만 CFSCRIPT는 좋아 보인다. 가독성 측면을 해결할 수 있습니까? –

+0

개인적으로 CFSCRIPT는 훨씬 더 읽기 쉽습니다. 이 구문은 다른 프로그래밍/스크립팅 언어 및 CFTAGS (여는/또는 닫음) 부족으로 인해 디스플레이를 정리하고 줄 수를 줄일 수 있습니다. 이것은 CFC의 전체 CFC를 CFSCRIPT에 작성할 때 특히 그렇습니다. 실제로 CFML 태그 사용을 선호하는 유일한 시간은 쿼리입니다. CFQUERY는 많은 힘을 가지고 있습니다. – Sureround

+6

원래의 질문은 스피드에 대해 구체적으로 제기되었는데, 이는 측정 할 수있는 것입니다. 가독성은 의견을 바탕으로 한 것 중 하나이므로 우리는 측정하기가 더 힘듭니다. 필자는 필자가 태그를 따르는 것보다 스크립트를 훨씬 잘 읽었다. 그것은 나를 위해 생각할 필요가 없지만 다른 사람들은 태그가보다 장황하고 따라하기 쉽다고 주장 할 것입니다. 그 미끄러운 슬로프! –

관련 문제