在CF9中编写cfcs的编码约定?

时间:2009-08-26 07:18:41

标签: coldfusion coldfusion-9 cfc

通过在CF9中编写CFC的新方法,CF9的一些新编码约定是什么?

以下是我能想到的一些......

3 个答案:

答案 0 :(得分:2)

  

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

我不这么认为。 <cfscript>本质上禁止任何空格,需要writeOutput()才能获得任何输出。

答案 1 :(得分:0)

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

如果你在cfc里面想要设置一个属性,不要使用this.setFoo(),只需去setFoo()。 getFoo()也是如此。 this.xxx()就像走出前门只是为了回来。而且,你的access =私人定制的getter和setter不会工作,因为函数不会在这个范围内。

“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;
}

答案 2 :(得分:-1)

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