आप स्रोत कोड के अच्छे उदाहरण पढ़ने के लिए कहाँ जाते हैं? [बन्द है]


53

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


यह StackOverflow पर पूछा गया है: stackoverflow.com/questions/3083525/…
nikie

3
मैं अभी अपने पुराने कोड को देखता हूं।
पॉल

पॉल, कि ओपी यह मदद करने के लिए नहीं जा रहा है? जाहिर है कि उनके पास पहले से लिखा हुआ अच्छा कोड नहीं है। शीश।
रद्दी

2
@junky उम्मीद है कि उन्हें कुछ समझदारी हो सकती है :)
कोनराड मोरावस्की

यह वह प्रश्न है जो मैं पूछने जा रहा था, लेकिन मेरा सौभाग्य कि मुझे यह मिला। मुझे लगा कि यह केवल मेरी समस्या है कि मुझे पता नहीं है कि कोड कहां मिलेंगे
धनंजय

जवाबों:


30

आप GitHub , Codeplex , Google Code या BitBucket जैसी रिपॉजिटरी साइट्स पर ओपन सोर्स प्रोजेक्ट ब्राउज़ कर सकते हैं । आपको विभिन्न जटिलता स्तरों की परियोजनाएँ मिलेंगी, इसलिए आपको कुछ ऐसा ढूंढने में सक्षम होना चाहिए, जो आपके हित में हो और आपके सिर पर बहुत अधिक न चला हो।

एक अन्य विकल्प स्कॉट हैन्समैन का साप्ताहिक स्रोत कोड ब्लॉग पोस्ट है।

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

किसी और के कोड के एक समूह को घूरना डराने वाला हो सकता है, इसलिए mainफ़ंक्शन (या समतुल्य) से शुरू करें और वहां से अपना रास्ता बनाएं।


3
-1: एक शुरुआती अच्छे और बुरे कोड के बीच नहीं बता सकता है, इसलिए 'ब्राउज़िंग' प्रोजेक्ट मदद करने वाला नहीं है। आपने 'स्थापित' परियोजनाओं की सिफारिश करके इसे कवर किया है, लेकिन मैंने उन परियोजनाओं में भयानक कोड देखा है, जिनके बारे में हमने सुना है। मेरे पास हालांकि बेहतर जवाब नहीं है। यह वास्तव में एक कठिन सवाल है, एक व्यक्ति के कौशल के स्तर, रुचियों के अनुरूप उत्तर की आवश्यकता होती है, और एक संरक्षक के ज्ञान के माध्यम से फ़िल्टर किया जाता है।
क्रिस

1
@ क्रिस मैं असहमत नहीं हूं, लेकिन मैं ध्यान दूंगा कि खराब कोड को पढ़ने से भी बहुत कुछ सीखा जा सकता है। यकीनन, खराब कोड को पढ़ना और उनका पालन करना एक उचित संगठित परियोजना में गोता लगाने से भी कठिन है। (और इससे पहले कि हम यह पता लगाने की कोशिश करें कि "अच्छा" कोड क्या है :)।)
एडम लेयर

1
आधी हकीकत। लेकिन हम में से अधिकांश गैर-प्रतिभाओं के लिए, आत्म-शिक्षा की सीमाएं हैं। अधिकांश शुरुआती (सभी क्षेत्रों में) "अच्छा" के लिए एक्सपोज़र की आवश्यकता होती है जो कि अच्छा है की भावना प्राप्त करने के लिए । और "इंटरनेट" "मैं अच्छा हूँ!" का एक विश्व-कोलाहल है, जो मदद नहीं करता है।
क्राइस

10

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

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

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

कुछ समय के बाद आप ग्लोबल्स पर दस स्तर के इंडेंटेशन और निर्भरता के साथ 100-लाइन फ़ंक्शन द्वारा अक्षम हो जाते हैं, और कुछ बार जब आप अच्छी तरह से विघटित कोड के माध्यम से हवा करते हैं, तो आप अपनी खुद की प्रोग्रामिंग में सुधार करेंगे।


4

महान कोड खोजने के बजाय, सामान्य प्रोग्रामिंग पुस्तकें देखें।

उदाहरण के लिए कोड पूरा, ठोस कोड, डिज़ाइन पैटर्न लिखना (मुझे यकीन है कि इस साइट में बहुत सारी अन्य किताबें हैं जो किसी अन्य प्रश्न और उत्तर के आसपास हैं)

वे पुस्तकें दर्शन का वर्णन कर रही हैं जिन्हें अच्छा कोड माना जाता है। पठनीयता, प्रदर्शन, रखरखाव, बग-पता आदि।

जो लेखक को हासिल करने की कोशिश कर रहा है, यह पता लगाने की कोशिश करने से बेहतर संसाधनों और अधिक कुशल कार्य करता है।

Ps अच्छा सॉफ़्टवेयर डिज़ाइन वह है जिसे आपको भी देखना चाहिए। जो कोड को देखने से पूरी तरह से पहचानना मुश्किल होगा, यह देखते हुए कि परियोजना काफी बड़ी है।


1
मैं एक अच्छे संसाधन के रूप में "क्लीन कोड" का उल्लेख करना चाहता हूं।
मेहर

3

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

यद्यपि आप एल्गोरिथम या जटिल कंटेनर कक्षाओं को छांटना जैसी जगहों से शुरू नहीं करना चाहते हैं।

कोड लिखने में दिलचस्प अंतर्दृष्टि के लिए एक और स्थान प्रोजेक्ट यूलर ( http://projecteuler.net/ ) है। वहाँ थोड़ा नुकसान: आपको उस समस्या को पहले उस मंच तक पहुँचना चाहिए जहाँ अन्य लोगों ने अपने समाधान पोस्ट किए हैं (अनुभव के सभी स्तरों के लिए दिलचस्प चुनौतियाँ)। लेकिन एक बार जब आप लगभग सभी प्रमुख प्रोग्रामिंग भाषाओं के लिए उदाहरण पाएंगे। और जब से आपने समस्या को पहले से ही हल कर लिया है, तो यह आपको अन्य लोगों के कोड को समझने में मदद करेगा। इसके लिए आपको उन भाषाओं के कोड देखने को मिलेंगे जिन्हें आप अभी तक नहीं जानते हैं, लेकिन दिलचस्प लग सकते हैं।


3

मुझे सुंदर कोड पढ़ने में बहुत मज़ा आया । इसमें विस्तृत स्पष्टीकरण के साथ छोटे, लेकिन बहुत अच्छे कोड उदाहरण हैं।

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

... लेखक सोचते हैं कि वे अपनी परियोजना की वास्तुकला, इसके निर्माण में किए गए व्यापार के माध्यम से काम करते हैं, और जब नियमों को तोड़ना महत्वपूर्ण था।

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

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