2009-09-29 9 views
13

हाल ही में मैं साम्राज्य-डीबी के संपर्क में आता हूं। परियोजना डॉक्टर ने कहा कि वे "string-free coding" का उपयोग कर रहे हैं, जिसका उद्देश्य टाइपो से बचने और कंपाइलर की शक्ति का उपयोग करने के लिए जितना संभव हो सके कम निरंतर तारों का उपयोग करना है।"स्ट्रिंग-फ्री कोडिंग" एक सामान्य शब्द है?

मैं हमेशा इस सिद्धांत का एक बड़ा प्रशंसक था, क्योंकि मुझे लगता है कि जावा एक औपचारिक भाषा है क्योंकि यह गुण या एक्सएमएल जैसे कॉन्फ़िगरेशन के लिए एक्सप्रेशिव हो सकता है और संकलक के माध्यम से जांच करके अतिरिक्त मूल्य देता है। शायद रनटाइम पर बिना किसी संकलन के बदलावों की कम संभावनाएं हैं लेकिन यह प्रत्येक मामले पर निर्भर करती है।

क्या अब आप इस शब्द/सिद्धांत/डिजाइन पैटर्न के बारे में अधिक संदर्भ या रीडिंग करते हैं?

+1

साम्राज्य डीबी को इंगित करने के लिए धन्यवाद। यह एक ऐसा उपकरण है जो आगे की जांच को योग्य बनाता है। मैं विशेष रूप से हाइबरनेट के विश्लेषण से मारा गया था: http://incubator.apache.org/empire-db/empiredb/hibernate.htm – APC

+0

यह वास्तव में एक दिलचस्प लेख है। धन्यवाद @ एपीसी। –

+0

हालांकि यह एक अच्छा सिद्धांत है, हमेशा के रूप में, पहले सामान्य ज्ञान का उपयोग करें। अच्छे इरादों के साथ एक अच्छी डिजाइन अभ्यास के बाद मनहीनता से भी खराब कोड हो सकता है, http://thedailywtf.com/Articles/It-Gets-Worsse-Each-Year.aspx और http://thedailywtf.com/Articles/ देखें Soft_Coding.aspx –

उत्तर

4

हालांकि मैंने कभी भी यह विशेष शब्द नहीं सुना है, मुझे पता है कि आपका क्या मतलब है, यह समझ में आता है।

4

मुझे जावा के बारे में बहुत कुछ पता है, लेकिन यह मुहावरे आधुनिक सी ++ में प्रसिद्ध है। उदाहरण के लिए, Xpressive एक नियमित अभिव्यक्ति लाइब्रेरी है जो प्रोग्रामर को सी ++ में रेगेक्स लिखने की अनुमति देती है, और संकलन-समय की जांच करता है। Spirit एक और उदाहरण है, जहां सी ++ में EBNF लिख सकता है, और संकलक भी आप के लिए वाक्य रचना की जाँच कर सकते :)

मुझे लगता है कि अवधि आप देख रहे हैं एंबेडेड डोमेन विशिष्ट बोली है।

+0

क्यूटी के पास कुछ भी संबंधित है, लेकिन यह अनुवाद के तरीके के कारण है। असल में आप प्रत्येक उपयोगकर्ता-दृश्य स्ट्रिंग को "tr (...) ", और ऐप इसे रनटाइम पर गतिशील रूप से देखता है, केवल उपयुक्त स्ट्रिंग का उपयोग करते समय जब कोई उपयुक्त अनुवाद नहीं मिला। –

1

कभी भी विशेष अभिव्यक्ति नहीं सुना, लेकिन Effective Java "स्ट्रिंग से बचने की सिफारिश करता है जहां अन्य प्रकार अधिक उपयुक्त हैं" (आइटम 50)।

6

यह वही बात है जो जादू संख्या बनाम स्थिरांक है। स्थिरांक का उपयोग रखरखाव और पठनीयता को बढ़ाता है। कॉन्स्टेंट भी परिवर्तन को समाहित करते हैं: निरंतर मान में परिवर्तन स्वचालित रूप से प्रचारित होता है और, स्ट्रिंग-फ्री कोडिंग के लिए, एक गलत वर्तनी स्थिर एक संकलन-समय त्रुटि होती है।

0

प्रसिद्ध Pragmatic Programmer विशेष रूप से मेटाडेटा हैंडलिंग के संबंध में इस सिद्धांत का उल्लेख करता है। इस बारे में सुझाव दिए गए से एक है:

सामान्य मामले, के लिए मेटाडाटा

कार्यक्रम में रखो संहिता में संक्षेपण हैं, विवरण और संकलित कोड बेस के बाहर बारीकियों डाल दिया।

वैसे भी पुस्तक को पढ़ने योग्य है।

0

साम्राज्य-डीबी के संबंध में, यह SQL क्वेरी के लिए 'टाइप-सुरक्षा' जैसा है।

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