Ваш метод init () не должен возвращать область «this», если вы вызываете ее с использованием синтаксиса «new my.cfc ()». Правдивая история.
Если вы находитесь внутри cfc и хотите установить свойство, не используйте this.setFoo (), просто перейдите setFoo ().
То же самое касается getFoo ().
This.xxx () походит на выход из парадной двери только для того, чтобы вернуться. Кроме того, ваши access = private пользовательские методы получения и установки не будут работать, поскольку функции не будут находиться в этой области видимости.
"var foo" против "local.foo" - лично я предпочитаю переменные var'd, так как а) меньше кода для ввода и б) меньше кода для чтения.
// 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;
}