从函数返回值而不是返回void有什么好处吗?

时间:2012-04-24 15:17:18

标签: oop function coldfusion return return-value

我主要使用ColdFusion,一种非编译语言,但这是所有语言的一般性问题。

我正在使用getter / setter以及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()方法会返回一个值。

但是,让其他方法返回一个值有什么好处 - 也许是布尔值?

我曾在Flex / ActionScript中工作,并且记住在大多数情况下,我需要从方法中返回一些值并将变量设置为该结果,以防止下一行代码处理:

function myFunc() {
    x = getSomething();

    y = getSomethingElse(x);
}

1 个答案:

答案 0 :(得分:5)

如果您在设置者身上返回this,则可以链接设置者。我认为CF10访问器返回this以默认启用链接。

我读到,返回void一段时间会更有效率,但我不确定它是否真实。我怀疑差异会很明显。