2009-08-26 10 views
6

सीएफसी में सीएफसी लिखने के नए तरीकों के साथ, सीएफ 9 में नए कोडिंग सम्मेलन में से कुछ क्या हैं?सीएफसी में सीएफसी लिखने के लिए कोडिंग सम्मेलन?

यहाँ कुछ मैं के बारे में सोच सकते हैं ...

  • हमेशा स्थानीय गुंजाइश का उपयोग
  • हमेशा init() विधि है जो अपने आप देता है, New के बाद से शामिल init फोन करेगा() करता है, तो मिल गया।
  • नहीं डाल आवश्यक init() में बहस करते हैं कि यह एक ORM इकाई है, अन्यथा उम्मीद अपवाद ...
  • हमेशा की तरह, जहां XXX init() के अंदर संपत्ति नाम है THIS.setXXX का उपयोग इतना है कि यह निहित setters कॉल करेंगे या उपलब्ध कस्टम सेटर।
  • पूर्व CF8 उदाहरण गुंजाइश सम्मेलन का परित्याग, देखें: http://henrylearnstorock.blogspot.com/2009/08/should-we-abandon-instance-scope-in-cf9.html
  • कोई उत्पादन = घटक और स्क्रिप्ट शैली सीएफसी में कार्यों के लिए झूठी, देखें: http://www.coldfusionjedi.com/index.cfm/2009/8/26/Ask-a-Jedi-Impact-of-whitespace-and-script-based-CFCs
  • क्लीनर और अधिक कुशल isNull(arguments.optionalArg) के बजाय का उपयोग isDefined()

उत्तर

2

क्या हमें अभी भी स्क्रिप्ट शैली सीएफसी में घटक और कार्यों के लिए विशेषता आउटपुट = झूठी सेट करने की आवश्यकता है?

मुझे ऐसा नहीं लगता। <cfscript> अपनी प्रकृति से किसी भी सफेद स्थान को दबा देता है और किसी भी आउटपुट के लिए writeOutput() की आवश्यकता होती है।

+1

उत्तर देने की आवश्यकता है: http://www.coldfusionjedi.com/index.cfm/2009/8/26/Ask-a-Jedi-Impact-of-whitespace-and- स्क्रिप्ट -आधारित सीएफसी :) – Henry

+0

अच्छा ओल श्रीमान कैमडेन। – ale

+0

@ हेनरी, जब मैं उस लिंक को खोलता हूं तो यह ऐसी साइट पर जाता है जो मुझे याद नहीं है coldfusionjedi.com की तरह दिखता है। तिथियां/लेख जूट देखो ... गलत। बस अपनी दूसरी साइट की जांच की गई और इसे बंद कर दिया गया है: http://www.raymondcamden.com/ –

0

आपकी init() विधि को "यह" दायरा वापस करने की आवश्यकता नहीं है यदि आप इसे "नया my.cfc()" वाक्यविन्यास का उपयोग कर कॉल कर रहे हैं। सच्ची कहानी।

यदि आप एक सीएफसी के अंदर हैं और एक संपत्ति सेट करना चाहते हैं, तो इसका उपयोग न करें .setFoo(), बस setFoo() पर जाएं। वेटफू() के लिए भी जाता है। यह .xxx() केवल सामने आने के लिए सामने वाले दरवाजे से बाहर निकलने जैसा है। इसके अलावा, आपकी पहुंच = निजी कस्टम गेटर्स और सेटर्स काम नहीं करेंगे क्योंकि कार्य इस दायरे में नहीं होंगे।

"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; 
} 
-1

सभी कार्यों कि बदल डेटा कुछ मूल्य वापस चाहिए, भले ही यह एक बूलियन वर्तमान में हमेशा सच है कि है। फ़ंक्शंस में अंततः झूठी

संबंधित मुद्दे