2008-09-28 17 views
14

आगामी सी ++ प्रोजेक्ट के लिए निम्नलिखित प्रस्ताव दिए गए हैं।मौजूदा मानक शैली और कोडिंग मानक दस्तावेज़

  • सी ++ कोडिंग मानक, सूटर और Alexandrescu
  • JSF एयर वाहन सी ++ द्वारा कोडिंग मानकों
  • सी ++ शैली
  • प्रभावी सी ++ 3 संस्करण, के तत्वों स्कॉट Meyers द्वारा

वहाँ अन्य विकल्प? या सी ++ प्रोजेक्ट पर क्या उपयोग किया जाना चाहिए ऊपर की सूची है?

कुछ संबंधित लिंक

+1

प्रभावी सी ++ स्कॉट Meyers से है ... एरिक मेयेर एक वेब डिजाइन और सीएसएस विशेषज्ञ है ... :-P – paercebal

उत्तर

7

मैं वास्तव में लगता है कि यह कोई फर्क नहीं पड़ता जो एक आप को अपनाने, जब तक कि हर कोई उसके साथ चला जाता है। कभी-कभी यह कठिन हो सकता है क्योंकि ऐसा लगता है कि कुछ शैलियों लोगों के तनाव से सहमत नहीं हैं। अर्थात। यह m_ के साथ सभी सदस्य चर का उपसर्ग करने के बारे में बहस करने के लिए नीचे आता है सुंदर या नहीं।

मैं थोड़ी देर के लिए Geosoft मानकों का उपयोग और संशोधन कर रहा हूं, ये सी ++ के लिए हैं। what-is-your-favorite-coding-guidelines-checklist थ्रेड

+0

हेक I * ने * m का उपयोग करने के लिए * चुना है, और ** मुझे लगता है कि यह बदसूरत है! –

5

हम्म, अजीब सवाल। बस मानक चुनें जो अधिकांश टीम के सदस्य परिचित हैं। अपनी टीम के लिए कुछ प्रकार का चुनाव करें। सुनिश्चित नहीं है कि एसओ यहां कैसे मदद कर सकता है :)

+0

मैं आपको लगता है बस मदद की! –

3

इसे आजमाएं, यह वह है जो नासा के गोडार्ड स्पेस फ्लाइट सेंटर का उपयोग करता है।

http://software.gsfc.nasa.gov/AssetsApproved/PA2.4.1.3.pdf

+0

आपके द्वारा प्रदान किया गया लिंक अब और अधिक काम नहीं करता है कि यह 7 साल पहले पोस्ट किया गया था !!! यहां काम करने वाला लिंक है: [नासा सी ++ स्टाइल गाइड] (http://hdl.handle.net/2060/20080039927) – Ravi

3

पर कुछ अन्य हैं, मैंने एक प्रमुख ब्रिटिश कंपनी के लिए कोडिंग मानक लिखा है और कारणों को डालने के बारे में बहुत सचेत था कि मैंने इसे "तूफान" घोषणाओं का एक गुच्छा बनाने के बजाय कुछ चीजों का चयन क्यों किया। (-:

बाहर एक त्वरित तरीका के रूप में, मैं अनिवार्य सुझाव देंगे:

  • स्कॉट Meyers के प्रभावी सी ++ 3 संस्करण (Amazon link) - आप इस पुस्तक के 1 संस्करण की एक कॉपी मिल सकता है तो खरीद यह ओओ डिज़ाइन के अवलोकन के लिए जो बाद के संस्करणों से हटा दिया गया था।) -:
  • स्कॉट मेयर की पुस्तक प्रभावी एसटीएल (Amazon link) - आपको सी ++ कुशलतापूर्वक उपयोग करने के लिए एसटीएल का उपयोग करना होगा।
  • स्टीव मैककोनेल की पुस्तक कोड पूर्ण 2 (Amazon link) - सी ++ विशिष्ट नहीं बल्कि महान अंतर्दृष्टि से भरा है।
3

कोडिंग मानकों केवल अर्थपूर्ण हैं यदि वे कोड लिखने में आपकी सहायता करते हैं। इसलिए उन्हें केवल आपके कोड को सुसंगत रखने की आवश्यकता है (यानी यदि कोई व्यक्ति चर के सदस्यों के लिए m_ रखता है और कोई नहीं करता है, तो कोड को ग्रोक करने में अधिक समय लग सकता है, अगर वे सभी एक ही शैली का उपयोग करते हैं)।

यह सब कुछ है (चाहिए), तो बस अपना मौजूदा कोड उठाएं और सुनिश्चित करें कि आपकी टीम एक ही शैली में कोड करे।

मुझे कार्टून की तरह इसके बारे में सोचना पसंद है। यदि आप सिम्पसंस पर एक कार्टूनिस्ट बन जाते हैं, तो आपको आधिकारिक तरीके से आंखें खींचना पड़ता है या सब कुछ पैंट दिखता है, लेकिन यदि आप फैमिली गाय में जाते हैं, तो आपको उन्हें अलग-अलग आकर्षित करना होगा। किसी भी तरह से गलत नहीं है।

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

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

9

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (सी ++ इन-गहराई श्रृंखला) हर्ब सटर और आंद्रेई अलेक्जेंड्रेस्कु द्वारा।

+0

अपना खुद का कोडिंग मानक बनाने के लिए बहुत अच्छी किताब है, क्योंकि प्रत्येक कंपनी अलग है, और वे संभावना है कि आपकी कंपनी Google और न ही नासा है। – Nikko

2

मैं हेराल्ड स्कीरिच से सहमत हूं, यह महत्वपूर्ण है कि टीम इस बात पर सहमत हो कि नियमों को सिर्फ बाहरी लोगों द्वारा अनुशंसित किए गए सेट को चुनने के बजाय क्या होना चाहिए।

मेरी व्यक्तिगत सिफारिश Code Complete, 2nd Edition स्टीव मैककनेल द्वारा पढ़ा जाएगा जो कि कई अन्य उपयोगी सामग्री के बीच कई सामान्य कोडिंग मानकों का वर्णन करती है और प्रत्येक पर टिप्पणी प्रदान करती है। यह आपकी टीम को अपने मानकों को स्थापित करने में मदद कर सकता है।

2

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

सामान्य उद्देश्य सी ++ कोडिंग के लिए, मैं व्यक्तिगत रूप से हर्ब सटर द्वारा सी ++ कोडिंग मानकों की अनुशंसा करता हूं। बहुत शुरुआत से, यह मानता है कि मानकीकृत करने के लिए (सुरक्षा, शुद्धता, दक्षता को बढ़ावा देने वाले प्रथाओं की बजाय शैली या वरीयता से संबंधित चीजें) पर जोर देती है। यह आपकी सूची में सबसे आसान पढ़ने में से एक है जो प्रत्येक मानक के लिए बहुत संक्षिप्त लेकिन संक्षिप्त तर्क देता है, जिससे आपके सहकर्मियों को दिखाना आसान हो जाता है।

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