6

随着在 CF9 中编写 CFC 的新方法,CF9 有哪些新的编码约定?

这里有一些我能想到的...

4

3 回答 3

2

我们还需要为脚本样式 CFC 中的组件和函数设置属性 output=false 吗?

我不会这么认为。<cfscript>从本质上讲,它会抑制任何空白和需要writeOutput(),以便完全有任何输出。

于 2009-08-26T17:07:43.697 回答
0

如果您使用“new my.cfc()”语法调用它,则您的 init() 方法不必返回“this”范围。真实的故事。

如果您在 cfc 中并想设置属性,请不要使用 this.setFoo(),只需使用 setFoo()。getFoo() 也是如此。this.xxx() 就像走出前门只是为了回来。此外,您的 access=private 自定义 getter 和 setter 将无法工作,因为函数不会在 this 范围内。

“var foo” vs “local.foo” - 就个人而言,我更喜欢 var'd 变量,因为 a) 需要输入的代码更少,b) 需要读取的代码更少。

// there isnt a huge difference here
var today = now();
var tomorrow = dateAdd( 'd', 1, today );
local.today = now();
local.tomorrow = dateAdd( 'd', 1, local.today );

// but when you start getting more complex examples, it quickly blows out
var out = method( var1, var2, var3, var4, var5 );
local.out = method( local.var1, local.var2, local.var3, local.var4, local.var5 );

使用 javadocs 风格的注释。文档是你的朋友。

/**
* @hint This is a hint for the whole function
* @arg1 This is an argument hint
* @arg2 This is another argument hint
**/
public void function myFunction( string arg1 = 'default', boolean arg2 ) {
    return true;
}
于 2011-12-15T17:07:18.597 回答
-1

所有改变数据的函数都应该返回一些值,即使它是一个当前始终为真的布尔值。函数有一种最终需要返回 false 的方式

于 2012-11-22T19:26:50.270 回答