2013-05-07 11 views
5

मुझे पता है कि इंटरफ़ेस के लिए नामकरण सम्मेलन IName जैसा कुछ है। लेकिन क्या होगा यदि मैं एक अमूर्त वर्ग बना रहा हूं?एक अमूर्त वर्ग के लिए नामकरण सम्मेलन?

क्या मुझे कक्षा के नाम के सामने एक भी लिखना चाहिए?

+0

यह मेरे लिए थोड़ा उलझन में लगता है। अमूर्त और इंटरफेस से आपका क्या मतलब है? सी ++ में एक वर्ग सार है यदि इसमें कम से कम एक शुद्ध वर्चुअल फ़ंक्शन है। एक इंटरफ़ेस वर्ग आमतौर पर ऐसा होता है - आम तौर पर, लेकिन जरूरी नहीं कि अमूर्त वर्ग, जो प्राथमिक रूप से व्युत्पन्न कक्षाओं में कार्यान्वयन विवरण छुपा रहा है और सार्वजनिक इंटरफेस पर उपयोग किया जा रहा है। – jmihalicza

+5

'आई' उपसर्ग एक माइक्रोसॉफ्टवाद है (COM और .NET के लिए), प्रति सी ++ नामकरण सम्मेलन नहीं। – dan04

+0

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

उत्तर

9

ओरेकल जावा कोडिंग सम्मेलनों के विरोध में, सी ++ के लिए "नामकरण सम्मेलन" नहीं है।

  • यदि आप किसी कंपनी के लिए किसी प्रोजेक्ट पर काम कर रहे हैं तो आपको उनके नामकरण सम्मेलनों का पालन करना चाहिए। यदि कोई दस्तावेज सम्मेलन नहीं है - कोड बेस के चारों ओर देखो और झुंड का पालन करने का प्रयास करें, स्थिरता कुंजी है।

  • यदि आप अपने आप से कुछ शुरू कर रहे हैं, तो बहुत से लोग google's c++ coding conventions अच्छी शुरुआत के रूप में पाते हैं।

+11

हम्म, मुझे नहीं पता * किसी भी * सी ++ डेवलपर्स जो सोचते हैं कि Google के सम्मेलन अच्छे सामान्य दिशानिर्देश हैं। वे Google के लिए बहुत अच्छे हैं, लेकिन उन्हें उन बाधाओं के भीतर काम करना है जो सार्वभौमिक रूप से लागू नहीं हैं। –

+2

मैंने लिखा था कि यह एक अच्छी शुरुआत थी, न कि पवित्र अंगूर। क्या कोई अच्छा सम्मेलन है जो _universally_ लागू हैं? अन्य दिशानिर्देशों से जुड़ने के लिए स्वतंत्र महसूस करें। – Zelix

+3

यह बिल्कुल सही बात है: मैं और कई अन्य लोग यह नहीं सोचते हैं * यह एक अच्छी शुरुआत है। इसमें बहुत बुरी, अयोग्य और भ्रामक सलाह शामिल है। –

3

वैश्विक नामकरण सम्मेलन जैसी कोई चीज़ नहीं है। उस समय जब आप नामकरण सम्मेलन के बारे में जानते हैं, तो आप इसमें जवाब देख सकते हैं।

5

यदि आप किसी विशिष्ट नामकरण सम्मेलन का पालन करने का प्रयास कर रहे हैं, तो कृपया इसे नाम दें। जैसा कि अन्य उत्तर बताते हैं, नामकरण सम्मेलनों के संबंध में कोई वैश्विक "सी ++ नियम" नहीं है।

यदि आप हंगेरियन नोटेशन का उपयोग कर रहे हैं, तो मेरा मानना ​​है कि सम्मेलन वास्तव में 'आई' के लिए किया गया है जैसा आपने किया था।

नोट:जबकि वहाँ इस तरह के रूप में कोई "इंटरफेस" सी ++ में, आप केवल शुद्ध आभासी तरीकों और कोई सदस्य चर के साथ वर्गों को परिभाषित कर सकते हैं।

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