2011-04-12 20 views
8

गूगल के Objective-C Style guide कई लोगों द्वारा पालन है जो में, गूगल का कहना हैउद्देश्य-सी में iVars नामकरण करते समय Google पीछे के अंडरस्कोर का उपयोग करने का सुझाव क्यों देता है?

कक्षा सदस्य चर अनुगामी है रेखांकित

क्यों? क्या ऐसा करने का कोई अच्छा कारण है? मैंने अंडरस्कोर शुरू करते समय आमतौर पर सेब को एक ivar नाम दिया।

+0

एक संभावित तर्क यह है कि इंस्टेंस वेरिएबल नाम कभी भी ऐप्पल के साथ टकरा नहीं पाएंगे। मुझे यह समस्या बहुत अधिक नहीं मिल रही है क्योंकि संकलक उस मामले में एक त्रुटि देगा, और यदि पुनरावर्तक उपकरण घटित होता है तो ऐसा होता है यदि ऐसा होता है। –

+0

+1 क्योंकि मुझे नहीं पता था कि Google का उद्देश्य-सी शैली मार्गदर्शिका थी। –

उत्तर

5

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

आप एक बहुत कोर डाटा उपयोग नहीं कर रहे हैं, या आप नामकरण की परंपरा में स्थिरता की दिशा में ओसीडी की प्रवृत्ति नहीं है, तो जो कुछ भी आप के लिए सबसे अच्छा काम करता शायद सही जवाब है।

0

यह सिर्फ अपने पसंदीदा शैली है। अंडरस्कोर, चाहे prefixed या suffixed, प्रतिनिधित्व करता है कि यह एक निजी ivar है, न कि एक संपत्ति या सार्वजनिक ivar।

int test_; 

मैं 'टी' टाइप कर सकते हैं और यह कोड पूरा होने में तुरंत दिखाई देगा:

25

मैं पीछे को रेखांकित करता है, तो मेरे पास है क्योंकि पसंद करते हैं।

साथ

int _test; 

मैं टी में कोड पूरा होने को पाने के लिए '_t' टाइप करने के लिए की है।

कि सच है या, यकीन नहीं नहीं है या नहीं, लेकिन यह है कि क्या मैं अपने आप को आश्वस्त किया है।

+0

+1: अच्छा जवाब। इस बारे में सोचा नहीं था। – FreeAsInBeer

+0

+1: मैं उसी कारण से पिछला अंडरस्कोर करता हूं। –

+9

मुझे पहले विपरीत के रूप में अंडरस्कोर के साथ पूर्ण विपरीत पसंद है, मैं "_" टाइप कर सकता हूं और सभी निजी चर के लिए एक पूर्णता सूची प्राप्त कर सकता हूं – drewag

2

यह उनकी C++ style guide से की एक कैरी-ओवर हो सकता है। सी ++ में, अग्रणी अंडरस्कोर reserved हैं। उद्देश्य-सी ivars के लिए

उनका नामकरण परंपरा C++ निजी सदस्य चर के अनुरूप है।