2012-02-15 13 views
15

मुझे "एससीएम" नामक मॉड्यूल के अंदर "एसवीएन" का प्रतिनिधित्व करने वाली कक्षा बनाने की आवश्यकता है। लेकिन मुझे नहीं पता कि रूबी में शब्दकोष से निपटने के दौरान सम्मेलन क्या है, और "ऊंट केस को प्राथमिकता दी गई" को छोड़कर Google में कुछ भी प्रासंगिक नहीं मिला।रूबी - नामकरण सम्मेलन - कक्षा/मॉड्यूल नामों में शब्दकोष के लिए पत्र केस?

क्या मुझे इसे SCM::SVN या Scm::Svn पर कॉल करना चाहिए? क्या इसके लिए कोई सम्मेलन है?

+3

रूबी सम्मेलन इसे [trollop] (https://rubygems.org/gems/trollop), [property_hat] (https://github.com/mintdigital/asset_hat) या यहां तक ​​कि टेनपुकु (Google अनुवाद के अनुसार सबवर्सन के लिए जापानी)। ;-) –

+1

@MarkThomas Fun तथ्य: _tenpuku_ (転 覆) का मतलब "उपversण" हो सकता है, लेकिन अधिक सामान्य उपयोग [कैप्सिंग और रोलओवर] जैसी चीजों के लिए है (https://www.google.com/search?q=%E8 % बी बी% A2% E8% ए 6% 86 & टीबीएम = isch और BIW = 1438 & bih = 719 और सेई = bKs7T-3qDcydmQX1rri8Cw)। और अब आप जानते हैं। ;) – brymck

उत्तर

14

SCM::SVN मेरे लिए सबसे अच्छा लग रहा है। रेल ईआरबी, ओआरएम और OMFGIMATEAPOT जैसी कक्षाओं से भरे हुए हैं। और यह JSONSerializer जैसी चीज़ों का उल्लेख नहीं करना है। रुबी के स्रोत में a bunch of acronyms भी है। मेरे लिए सबसे स्पष्ट उदाहरण YAML है। मानक जैसा मैंने देखा है, कैमेलकेज़ के लिए अक्षरों को ऊपर उठाना है, लेकिन आमतौर पर उन्हें कम नहीं करना है (हालांकि रेल के मॉडल नामों पर राय है)।

आप ग्रेप है और स्रोत कोड आप की तरह

grep -r 'class [A-Z]\{3,\}' <path/to/source> 
# or, if you only want acronyms and nothing like YAMLColumn: 
grep -rw 'class [A-Z]\{3,\}' <path/to/source> 
+0

रूबी स्रोत कोड ब्राउज़ करने और शब्दकोषों को देखने के लिए मेरे पास ऐसा नहीं हुआ। बहुत चालाक! मैं 'एससीएम: एसवीएन 'का उपयोग करूंगा। धन्यवाद! – kikito

3

मुझे लगता है कि SCM::SVN बेहतर दिखता है (सौंदर्यशास्त्र), और मैंने पुस्तकालयों को देखा है जो समान सम्मेलन का उपयोग करते हैं। यह वास्तव में सिर्फ एक बात है जो आपको लगता है कि बेहतर पढ़ता है।

(हालांकि, ध्यान दें कि आप एक रेल परियोजना का निर्माण कर रहे हैं, और इस मॉड्यूल/lib निर्देशिका से autoloaded होना चाहते हैं, तो आप Scm::Svn उपयोग करने के लिए हो सकता है।)

+0

रेल के बारे में अच्छी बात। धन्यवाद! – kikito

15

कुछ के साथ उदाहरण के बहुत देख सकते हैं config/initializers/inflections.rb के लिए निम्न जोड़े हैं।

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.acronym 'SVN' 
end 

अब चल $ rails g model SVN… एक वर्ग svn.rb नाम की एक फ़ाइल और एक संबद्ध तालिका svns में SVN नामित पैदा करेगा।

+4

ठीक है, मेरा सवाल सामान्य रूप से रूबी के बारे में था, विशेष रूप से रेल नहीं, लेकिन आपका जवाब किसी और की मदद कर सकता था। धन्यवाद! – kikito

+0

धन्यवाद। यह सभी अंतर बनाता है। इन्फ्लोक्टर को जोड़ने से पहले और बाद में 'svn'classify'' आज़माएं। अन्य भाषाओं/प्लेटफार्मों में, ऐसी कोई चीज़ नहीं है, इसलिए किसी ऐसे तरीके का उपयोग करना समझ में आता है जिसे स्वचालित तरीके से परिवर्तित किया जा सकता है। लेकिन activesupport मुझे जो भी बेहतर दिखता है लिखने देता है। अंत परिणाम यह है कि मैं रूबी को और भी प्यार करता हूं। –