2008-10-21 11 views
42

में मानक फ़ाइल नामकरण सम्मेलन दिए गए वर्ग, कुछकुला क्लास वाली फ़ाइल के लिए, उचित या मानक फ़ाइल नाम क्या होगा?रुबी

 
1. somecoolclass.rb 
2. some_cool_class.rb 
3. some-cool-class.rb 
4. SomeCoolClass.rb 

या कुछ अन्य बदलाव?

मैंने रूबी स्टडलिब में देखा, संस्करण 1, 2 और 3 का उपयोग किया जाता है।

उत्तर

37

केवल Ruby (यानी रेल नहीं) के साथ, नामकरण केवल एक सम्मेलन है। अंडरस्कोर का उपयोग करने के Railsconvention में आवश्यक है (लगभग)।

मुझे लगता है कि सम्मेलन # 2 lowercase_and_underscore.rb अधिक आम है और बहुत अच्छा लग रहा है, हालांकि Here एक लेख lowercasenounderscore.rb रूबी सम्मेलन है।

या तो चुनें जो कभी भी सम्मेलन अधिक आम है या जिसे आप कभी भी पसंद करते हैं। सबसे महत्वपूर्ण बात एक परियोजना के भीतर संगत होनी चाहिए।

+6

रूबी रत्न से शब्द अंडरस्कोर फ़ाइल नाम के लिए (उर्फ बॉक्स में कटौती या सांप), और रत्न नाम का उपयोग करने के लिए है # संगत का नाम बदलने)। – stevenharman

+9

जो लेख आपने 'lowcasenounderscore.rb' के लिए उद्धृत किया है वह पुराना है और मैंने किसी और को यह नहीं माना कि सम्मेलन के रूप में। अंडरस्कोर लगभग सार्वभौमिक मानक है। – SFEley

7

मैं अंडरस्कोर (आपके प्रश्न में नंबर 2) के साथ कम केस वर्णों की अनुशंसा करता हूं। यह सच है कि यह नामकरण योजना रेल में सम्मेलन है और गैर-रेल परियोजनाओं में आवश्यक नहीं है। हालांकि, मैं अभी भी रेल सम्मेलन में रहूंगा क्योंकि ज्यादातर रूबी प्रोग्रामर शायद रूबी का उपयोग रेलवे के लिए विशेष रूप से कर रहे हैं।

+0

न केवल वह, लेकिन अंडरस्कोर अधिकांश परीक्षण उपकरण, प्लगइन इंटरफेस इत्यादि के लिए भी सम्मेलन हैं। (उदाहरण के लिए, यदि आपके पास 'speoo.rb' फ़ाइल है और' spec/foo_spec.rb' पर एक spec फ़ाइल है, तो पूर्व परिवर्तन तब होता है जब पूर्व परिवर्तन होते हैं, और कई टेक्स्ट संपादकों में दोनों के बीच कूदने के लिए शॉर्टकट होंगे।) – SFEley

4

मुझे व्यक्तिगत रूप से लगता है कि शब्द विभाजक के रूप में हाइफ़न सामान्य रूप से अधिकतम पठनीयता और विशिष्टता के लिए बनाता है, इसलिए मैं अनुशंसा करता हूं कि जहां संभव हो (कुछ संदर्भों में, एक हाइफ़न का उपयोग नहीं किया जा सकता है, जैसे अधिकांश भाषाओं में पहचानकर्ताओं में)। ध्यान में रखना एक महत्वपूर्ण बात यह है कि आपके द्वारा चुनी गई योजना के लिए आवश्यक बयान पर असर होगा जो उपयोगकर्ता आपके lib के साथ उपयोग करेंगे, और आप लाइब्रेरी नाम से भिन्न मणि नाम से बचने के लिए चाहते हैं।

बुरा
# gem install my_cool_lib 
require 'my-cool-lib' 

# gem install MyCoolLib 
require 'my_cool_lib' 
अच्छा
# gem install my_cool_lib 
require 'my_cool_lib' 

# gem install my-cool-lib 
require 'my-cool-lib' 

दुर्भाग्य से, पुस्तकालयों का एक छोटा सा मुट्ठी इस सरल प्रयोज्य नियम का उल्लंघन। उन पुस्तकालयों में से एक मत बनो। [लगातार नामकरण] (http://guides.rubygems.org/patterns/: :)

3
my-proj 
├── README 
├── lib 
│   └── some_cool_class.rb 
└── test 
    └── some_cool_class_test.rb 
+0

बंडलर या रेल का उपयोग करते हुए जेमफाइल शीर्ष स्तर पर भी जाता है –