C ++ के लिए स्टाइल गाइड [बंद]


29

अभी मैं अपने C ++ कोड में Google C ++ स्टाइल गाइड का उपयोग कर रहा हूं और मैं इससे बहुत खुश हूं।

हाल ही में मुझे बताया गया कि यह मार्गदर्शिका बहुत खराब है: इसका उपयोग Google द्वारा आंतरिक रूप से किया जाता है (मुझे पता था कि) पुराना है, और कुछ बहुत ही बुरे व्यवहारों को बढ़ावा देता है। इसलिए मैं एक और कोडिंग शैली का उपयोग करना चाहता हूं।

क्या अच्छा और उचित रूप से प्रयुक्त C ++ स्टाइल गाइड हैं? मैं gcc और Visual Studio दोनों के लिए कोड लिखता हूं, और मैं C ++ 11 सुविधाओं का बहुत उपयोग करता हूं।

Google C ++ स्टाइल गाइड के बारे में मुझे जो बहुत पसंद आया वह था इंडेंटेशन, व्हॉट्सएप और नामकरण परंपराएं (विशेष रूप से सभी वर्गों का नामकरण, टाइप - टाइपिडेफ्स, टाइप एलियसेस और टेम्प्लेट एलियासेस - कैपिटल फर्स्ट लेटर सहित)।

मुझे पता है कि कोई भी उत्तर व्यक्तिपरक है (मुझे उम्मीद है कि यह इस साइट पर ठीक है) और मैं किसी भी राय की सराहना करूंगा, लेकिन मुझे दिलचस्पी है कि इन दिनों कौन से गाइड का उपयोग किया जाता है।


1
आप हमेशा अपनी पसंद की शैली का उपयोग कर सकते हैं, और फिर इसे साझा करने के लिए पसंदीदा शैली में सुधार कर सकते हैं। यहाँ एक स्टाइल फॉर्मेटर है
Reactgular

7
इस प्रश्न में राय आधारित उत्तरों की क्षमता है। इस कारण से इसे बंद करने के बजाय, मैं उत्तरदाताओं को तथ्यों पर ध्यान केंद्रित करने के लिए प्रोत्साहित करूंगा, जैसे कि ज्ञात उपयोग, अधिकारियों द्वारा सिफारिशें, तुलनात्मक अध्ययन और इसी तरह।
andy256

@ @y256 खुद को बेहतर नहीं कह सकता था।
बोलोव

7
आपको Google की शैली किसने खराब बताई थी, और उनकी राय आपके लिए क्यों महत्वपूर्ण है?
रिएक्टगुलर

@MathewFoscarini यहाँ हाल ही में एक चर्चा थी, भले ही यह बहुत गहराई में न हो: chat.stackoverflow.com/rooms/10/conversation/… (लेकिन फिर, इसमें से गुजरना FQA के माध्यम से जाने जैसा है )
घनबी bi ’at१४ को

जवाबों:


15

आप सामान्य उपयोग के लिए इस पुस्तक से दिशानिर्देश का उपयोग कर सकते हैं:

http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586

हर्ब सटर और आंद्रेई अलेक्जेंड्रेस्कु से। हालांकि यह C ++ 11 को ध्यान में नहीं रखता है, लेकिन मुझे लगता है कि एक नया संस्करण होगा।

लेकिन यह टैब के बजाय अंतरिक्ष की संख्या या किस प्रकार की गूढ़ संकेतन के बारे में जवाब नहीं देगा जिसे आप लागू करना चाहते हैं। लेकिन ये सबसे महत्वपूर्ण बात नहीं हैं, ज्यादातर समय बस कुछ निरंतरता की कुंजी है।


22

सी ++ कोर दिशानिर्देश की कोशिश की और सही दिशा निर्देशों, नियमों, और सबसे अच्छा सी में कोडिंग के बारे में प्रथाओं का एक सेट है ++, आप उन्हें यहाँ पा सकते हैं: https://github.com/isocpp/CppCoreGuidelines

उन्होंने लिखा है, दूसरों के बीच, ब्रेज़ेन स्ट्रॉस्ट्रुप और हर्ब सटर


1
निश्चित रूप से बेहतर निक्को के समाधान की तुलना में
whn

8

Google की C ++ शैली मार्गदर्शिका (और मैं कुछ उचित मानता हूं) की आलोचनाएं Google के नामकरण सम्मेलनों या इंडेंटेशन शैली के बारे में नहीं हैं, बल्कि उनके कुछ अन्य नियमों और नीतियों के बारे में हैं। इंडेंटेशन / फॉर्मेटिंग और नामकरण परंपराएं स्वाद के मामले में कुछ हैं और अंतहीन प्रोग्रामर धार्मिक युद्धों के लिए उपजाऊ जमीन हैं लेकिन C ++ में, जहां सी # के विपरीत कोई सार्वभौमिक मानक नहीं है, केवल वास्तव में महत्वपूर्ण दिशानिर्देश स्थिरता है। एक नई परियोजना के लिए, एक नामकरण सम्मेलन और इंडेंटेशन शैली चुनें जिसे आप पसंद करते हैं और इसे लगातार उपयोग करते हैं। एक मौजूदा परियोजना के लिए, पहले से ही उपयोग में आने वाले सम्मेलन के साथ रहें। C ++ कोडिंग मानकों में नियम 0 है "छोटे सामानों को मत खाइए।" जहां वे तर्क देते हैं कि नामकरण सम्मेलनों और इंडेंटेशन शैली सिर्फ उतनी महत्वपूर्ण नहीं हैं, जब तक कि आप '

मेरे लिए एक बड़ा उत्पादकता बूस्टर इंडेंटेशन / प्रारूपण को क्लैंग-प्रारूप का उपयोग करके स्वचालित कर रहा है । एक बार जब आप कुछ इंडेंटेशन और फ़ॉर्मेटिंग नियमों पर आ जाते हैं, तो मैं अत्यधिक कस्टमाइज्ड .clang- फॉर्मेट कॉन्फ़िगरेशन फ़ाइल सेट करने की सलाह देता हूं और फिर कभी इस बारे में चिंता करने की जरूरत नहीं है :-)

क्लैंग-प्रारूप एक स्टैंडअलोन उपकरण है और आपको एक कंपाइलर के रूप में क्लैंग का उपयोग करने की आवश्यकता नहीं है। विजुअल स्टूडियो के लिए एक आधिकारिक प्लगइन भी उपलब्ध है


6

जैसा कि @ user113896 ने पहले लिखा था, ब्रेज़न स्ट्रॉस्ट्रुप ने हमें बहुत स्टाइल गाइडेंस दिया। उनकी बेहतरीन उपलब्धियों में से एक JSF-C ++ कोडिंग स्टाइल बुक है । खबरदार, यह नियमित सी ++ के लिए नहीं है, एम्बेडेड उपयोग के लिए अधिक है, लेकिन यह दिखाता है कि चीजों को कैसे स्पष्ट और कार्यात्मक होना चाहिए। बेशक - आपको सब कुछ ध्यान में रखने की ज़रूरत नहीं है - इसकी मार्गदर्शिका, ऑर्डर बुक नहीं है :)।


2

यदि आपने Bjarne Stroustrup के प्रोग्रामिंग और सिद्धांतों को नहीं पढ़ा है, तो मैं आपको इसे पढ़ने के लिए दृढ़ता से सलाह देता हूं क्योंकि आप भाषा के निर्माता से बहुत कुछ सीख सकते हैं। मैंने सी ++ लेखक से बहुत कुछ देखा और पढ़ा है और मैं कह सकता हूं कि उसे शैली के लिए यह निर्धारण है और हमेशा लोगों को अच्छा, सुंदर कोड लिखने के लिए कह रहा है कि उनके अनुसार डिबग करना और पढ़ना आसान है। मेरा मानना ​​है कि वह सबसे महान ट्यूटर है और स्टाइलिश और सुंदर सी ++ कोड लिखने के लिए सबसे अच्छा मार्गदर्शक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.