शुरुआती के लिए पढ़ने के लिए सबसे अच्छा C ++ स्रोत कोड क्या है? [बन्द है]


25

मैं c ++ सोर्स कोड पढ़कर अपनी c ++ कोडिंग तकनीक को बेहतर बनाने की कोशिश कर रहा हूं। आप किस ओपन सोर्स प्रोजेक्ट की सिफारिश करेंगे? क्या Boost C ++ लाइब्रेरी का कोड अच्छा है?


11
क्यों बंद हुए वोट? प्रश्न स्पष्ट और ठोस है।
नेमेनजा ट्रिफ़ुनोविक

एसटीएल कार्यान्वयन
ड्यूकॉफिंग

12
@dukeofgaming: आप "विडंबना" टैग भूल गए।
डॉक्टर ब्राउन

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

7
करीबी वोट इसलिए हैं क्योंकि यह प्रश्न, जबकि ठोस, रचनात्मक नहीं है। यह सिर्फ हर किसी की परियोजना की सूची में परिणाम देगा, जहां कोई भी उत्तर "उत्तर" नहीं हो सकता है। अधिक जानकारी के लिए यह अक्सर पूछे जाने वाले प्रश्न के लिए
वाल्टर

जवाबों:


27

मैं Google के किसी भी खुले स्रोत C ++ कोड की सिफारिश करूंगा, जैसे कि निम्नलिखित:

Google कोड का उपयोग करने के लाभ:

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

गूगल सी ++ स्टाइल गाइड गूगल के सी ++ कोड का उपयोग करता है आम तौर पर अच्छा है, लेकिन यह, (जैसे कि उनके नामकरण दिशा-निर्देश या उनके अनुमति न देने अपवादों में से कुछ के रूप में) काफी कुछ असामान्य बिट्स है, तो ध्यान रखें कि उनके सी ++ कोड से उन मामलों में अलग होगा करता है कि आप मैदान में क्या देखेंगे।


9

मैं एक कोड आधार पढ़ने की सिफारिश नहीं करूंगा। मैं C ++ FAQS पढ़ने की सलाह दूंगा । एक उत्कृष्ट पुस्तक भी है जो साइट के साथ जाती है। अपने C ++ कोडिंग कौशल को सुधारने का सबसे अच्छा तरीका।


13
-1: मैं बहुत दृढ़ता से असहमत हूं। अन्य लोगों के कोड को पढ़ना किसी के कोडिंग कौशल को बेहतर बनाने का बहुत महत्वपूर्ण हिस्सा है। उस कोड में बग्स को ठीक करना और भी बेहतर है, हालांकि।
जन हुदेक

6
@ मुझसे पूरा समझौता। हालांकि, अधिकांश C ++ स्रोत कोड सभी प्रकार के खराब पैटर्न को बेकार और नियोजित करता है जो बुरी तकनीकों को सिखाएगा। क्या आप एक अच्छे ओएसएस प्रोजेक्ट के बारे में जानते हैं जो परिचयात्मक रीडिंग के रूप में काम कर सकता है?
कोनराड रुडोल्फ

मैं इस एक का उल्लेख कर रहा था: amazon.com/FAQs-2nd-Marshall-P-Cline/dp/0201309831/… लेकिन मैं देख सकता हूं कि अब अन्य पुस्तकें भी हैं।
ओनोरियो कैटेनेशिया

6

मौजूदा स्वच्छ C ++ कोड पढ़ना भाषा सीखने का एक शानदार तरीका है।

उदाहरण के लिए, OpenFST टूलकिट में कोड बहुत साफ है। यह पठनीय है और ओवरबोर्ड पर जाए बिना थोड़े उन्नत सुविधाओं का उपयोग करता है।

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


6

मैं स्कॉट मेयर्स द्वारा " इफेक्टिव सी ++ " पढ़ने का सुझाव दूंगा और उन सुझावों का उपयोग करके जो कि छोटे खिलौने कार्यक्रमों में हैं।


2
आप छोटे खिलौने कार्यक्रमों पर कुछ भी नहीं सीखेंगे। आपको ऐसे प्रोग्राम लिखने होंगे जो वास्तविक समस्याओं को हल करते हैं। उन्हें बड़े होने की जरूरत नहीं है, आप अकेले बड़े कार्यक्रम लिखने का प्रबंधन नहीं करेंगे, लेकिन वे सिर्फ खिलौने नहीं होने चाहिए।
जन हडेक

@ जानहुडेक: आप जो वर्णन करते हैं, उसे मैं खिलौना कार्यक्रम कहता हूं : एक कोड का एक टुकड़ा जो एक समस्या का हल करता है। इसलिए, उदाहरण के लिए, एक रन-कुट्टा एल्गोरिथ्म एक "खिलौना कार्यक्रम" होगा, जबकि एक पूर्ण एन-बॉडी सिमुलेशन नहीं होगा।
सरदारथियन - मोनिका

2
वे दोनों "खिलौना कार्यक्रम" हैं। क्योंकि समस्याएँ एक समस्या के उदाहरण से वंचित हैं जब तक कि आप संख्यात्मक सिमुलेशन नहीं कर रहे हैं और अधिकांश प्रोग्रामर नहीं करते हैं। वास्तविक समस्या कुछ आप या कोई ऐसा व्यक्ति है जिसे आप जानते हैं कि वास्तव में उपयोग किया जा रहा है। इसमें संभवतः GUI या कम से कम जटिल कमांड-लाइन पार्सिंग होगी और फाइलों में हेरफेर या नेटवर्क से कनेक्ट होगा और कुछ मौजूदा पुस्तकालयों का उपयोग करेगा और इसमें कोई गैर-तुच्छ एल्गोरिदम नहीं होगा, क्योंकि 99% प्रोग्राम वहां से बाहर नहीं होते हैं।
जान हुदेक

1
@JanHudec क्या आप कह रहे हैं कि कोई व्यक्ति पहले छोटी, संकुचित समस्याओं के साथ काम करके कुछ नहीं सीखता है? यदि प्रोग्रामर कम से कम कुछ बुनियादी सिद्धांतों और कुछ बुनियादी भाषा मुहावरों को सीखे बिना बड़ी और जटिल समस्याओं में सीधे कूद जाते हैं, तो यह है कि हम इन विशाल "बिग बॉल ऑफ मड" एप्स को कैसे समाप्त करते हैं।
ओनोरियो कैटेनेशिया

3
मुझे यकीन नहीं है कि अगर यह सवाल का जवाब देता है, लेकिन हर सी ++ प्रोग्रामर को उस किताब (और उसके सीक्वल) को पढ़ना चाहिए
रोबोट को

2

कुछ पढ़ने की कोशिश करें जो सालों से मौजूद हैं और आकार में बड़े हैं। कोड को समझने और उसमें कुछ करने के लिए शुरुआत करने में कुछ महीनों का समय लगेगा।

फ़ायरफ़ॉक्स, थंडरबर्ड, OpenOffice.org, LibreOffice दिमाग में आते हैं। ऐसे ही कई और भी होने चाहिए। ये प्रोजेक्ट कई ऑपरेटिंग सिस्टम और हार्डवेयर प्लेटफॉर्म पर चलते हैं। साथ ही, उन्हें पठनीयता के आधार पर स्कोर करना होगा। इन तकनीकों को आपको देखना चाहिए।


0

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

आप शायद कुछ केडीई एप्लिकेशन को देख सकते हैं। अधिकांश C ++ में लिखे गए हैं और आप पहले कुछ छोटे से शुरू कर सकते हैं।


-3

हां, बूस्ट सी ++ लाइब्रेरी का कोड सीखने के लिए एक महान संसाधन है, यदि ग्रह पर सर्वश्रेष्ठ में से एक नहीं है। हालांकि, एक नौसिखिए के लिए, बूस्ट कोड से सीखने से सीखने की अवस्था बहुत अधिक कठोर हो सकती है। यदि आप वास्तव में बूस्ट पढ़ने की कोशिश करना चाहते हैं, तो Boost.Array जैसी कुछ छोटी और सरल पुस्तकालयों से शुरुआत करें


2
मुझे लगता है कि स्की को सीखने का एक अच्छा तरीका सुझाना पसंद होगा, डबल-ब्लैक डायमंड ढलानों को मारना है।
रोबर्ट

@StevenBurnap कृपया, मेरे उत्तर को एक बार फिर से पढ़ें और मेरे द्वारा किए गए उस हास्यास्पद सुझाव को इंगित करें। बंद करो b ***** iting, क्या तुम, और शुरुआती द्वारा पढ़ने के लिए एक बेहतर व्यापक पुस्तकालय इंगित करें। आप इस निष्कर्ष पर पहुंचेंगे कि शुरुआती उदाहरण जो शुरुआती के लिए एक पुस्तक से हैं।
mloskot

-3

C ++ PDF को पढ़ने का प्रयास करें। यह मुफ़्त है, और मैंने इसे C ++ सीखा, भले ही मुझे कोई अन्य प्रोग्रामिंग अनुभव नहीं था, और मैं केवल 14. अद्भुत हूं।


3
क्या आप इस प्रोजेक्ट से संबंधित कुछ संसाधन के लिए लिंक जोड़ सकते हैं?
जियोर्जियो

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