符号化規約に従った書面のフロンのCF9?
-
20-09-2019 - |
質問
の新しい方法のフロンにCF9、どのコーディング条約に新CF9?
こんなの---
- 常に地元の範囲
- 必ず明記してください
init()
方法を返すものでNew
通init()の場合。 - い ない 入れに必要な引数
init()
の場合はORM体、それ以外は期待例外を... - 常に使用
THIS.setXXX
にXXXプロパティ名内init()で呼び暗黙のセッターまたはカスタムセッタが可能です。 - 放棄の前CF8インスタンス範囲条約、 http://henrylearnstorock.blogspot.com/2009/08/should-we-abandon-instance-scope-in-cf9.html
- 出力=falseコンポーネンや機能のスクリプトスタイルのフロンにて、 http://www.coldfusionjedi.com/index.cfm/2009/8/26/Ask-a-Jedi-Impact-of-whitespace-and-script-based-CFCs
- 利用には、よりクリーンで効率的な
isNull(arguments.optionalArg)
の代わりにisDefined()
解決
我々はまだスクリプトスタイルCFC内のコンポーネントと機能のための偽の出力を=属性を設定する必要がありますか?
私はそうは思わないだろう。その性質上<cfscript>
は空白を抑制し、まったくの出力を持つためにwriteOutput()
を必要とします。
他のヒント
あなたのinit()メソッドを使用すると、「新しいmy.cfc()」構文を使用して、それを呼び出している場合は、「この」範囲を返す必要はありません。実話ます。
あなたはCFC内で、プロパティを設定したい場合は、、)this.setFooを(使用いけない、ちょうど()setFooを行きます。 同じ。)(からgetfooのために行きます。 this.xxxは()だけで戻ってきて玄関のドアを出て行くようなものです。また、あなたのアクセス=プライベートカスタムゲッターとセッター関数などの文句を言わない仕事文句を言わない、この範囲であること。
「local.foo」対「VaRのFOO」 - 個人的に、入力する)以下のコードがあるように私はvar'd変数を好む、および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 );
のJavadocスタイルのコメントを使用してください。ドキュメントはあなたの友達です。
/**
* @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;
}
のデータを変更するすべての機能が、それは常に、現在、trueとなるbooleanであっても、いくつかの値を返す必要があります。関数は、最終的にはfalseを返すために必要とする方法を持っている。
所属していません StackOverflow