2012-04-24 3 views
1

주로 컴파일되지 않은 언어 인 ColdFusion에서 작업하지만 모든 언어에 대한 일반적인 질문입니다.void를 반환하는 것과는 반대로 함수에서 값을 반환하면 어떤 이점이 있습니까?

나는 getters/setters 및 CRUD 메소드로 객체를 생성합니다. 다음은 샘플입니다 :

<cffunction name="getPeriodStartDate" output="false" returntype="Numeric"> 
    <cfreturn VARIABLES.PeriodStartDate /> 
</cffunction> 

<cffunction name="setPeriodStartDate" output="false" returntype="Void"> 
    <cfargument name="PeriodStartDate" type="Numeric" required="true" /> 

    <cfset VARIABLES.PeriodStartDate = ARGUMENTS.PeriodStartDate /> 
</cffunction> 

<cffunction name="getDollarAmount" output="false" returntype="Numeric"> 
    <cfreturn VARIABLES.DollarAmount /> 
</cffunction> 

<cffunction name="setDollarAmount" output="false" returntype="Void"> 
    <cfargument name="DollarAmount" type="Numeric" required="true" /> 

    <cfset VARIABLES.DollarAmount = ARGUMENTS.DollarAmount /> 
</cffunction> 


<cffunction name="read" output="false" returntype="Query"> 
    <!--- 
    READ QUERY 
    ---> 

    <cfreturn _qData /> 
</cffunction> 

<cffunction name="create" output="false" returntype="Void"> 
    <!--- 
    INSERT QUERY 
    ---> 
</cffunction> 

<cffunction name="update" output="false" returntype="Void"> 
    <!--- 
    UPDATE QUERY 
    ---> 
</cffunction> 

<cffunction name="delete" output="false" returntype="Void"> 
    <!--- 
    DELETE QUERY 
    ---> 
</cffunction> 

은 분명히 get 방법과 read() 방법은 값을 반환합니다.

그러나 다른 메소드가 값을 반환하게하는 이점이 있습니까?

: 나는 플렉스/ActionScript에서 근무하고 대부분의 경우에 그 기억 한

, 내가 처리에서 코드의 다음 줄을 방지하기 위해 그 결과에 변수를하는 방법에서 약간의 값을 반환하고 설정하는 데 필요한
function myFunc() { 
    x = getSomething(); 

    y = getSomethingElse(x); 
} 
+2

그 값을 검사하고 무엇인가합니까? 데이터가 어떤 용도로든 사용될 것입니까? 그렇지 않다면, 킥에 대한 가치를 반환 할 아무런 이유가 없습니다. – Tejs

답변

5

설정자에게 this을 돌려 주면 설정자를 연결할 수 있습니다. CF10 접근자는 this을 반환하여 기본적으로 체인을 사용할 수 있다고 생각합니다.

나는 void이 돌아 오는 것이 더 효율적이라고 생각하지만, 더 이상 사실이 아닌지 확실하지 않습니다. 나는 그 차이가 눈에 띄는 것 같지 않다.

+0

그건 좋은 지적입니다 .... –

관련 문제