2010-03-12 10 views
8

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

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

धन्यवाद। =)

+4

* परियोजना बहुत दिलचस्प है *: यह निश्चित रूप से आपकी राय पर निर्भर करता है। यही कारण है कि मैं आपको यह देखने के लिए http://sourceforge.net/ पर एक नज़र डालने की सलाह दूंगा ;-) – ChristopheD

+0

धन्यवाद स्रोत फोर्ज को कई परियोजनाएं मिलीं। =) – domlao

उत्तर

3

इस से पहले कहा गया है?

Open source project: beginners [closed]

+2

मैं डुप्ली के रूप में बंद कर दूंगा, लेकिन सभी प्रश्न जो वास्तव में इस मुद्दे को संबोधित करते हैं वे "पृष्ठ नहीं मिला" या बंद हैं ... –

+0

कृपया अपना उत्तर हटा दें। यह लिंक अब और काम नहीं करता है। – NikosKeyz

2

यह स्तर और अपने छात्रों के कौशल जानने के बिना जवाब देना मुश्किल है। कि पृष्ठभूमि जानकारी के बिना, मैं भी नहीं बता सकता है अगर यह उन्हें किसी भी मौजूदा परियोजना पर खुला छोड़ करने के लिए सभी को एक सलाह दी जाती है।

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

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

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

एडीटी से परिचित एक योगदानकर्ता जल्द ही इस तरह के एक परियोजना से डरावनी हो जाएगा। एक योगदानकर्ता जो एडीटी से परिचित नहीं है केवल वहां बुरी आदतों को सीखेंगे।

अपने उद्देश्य अपने छात्रों संस्करण नियंत्रण और bugtracking प्रणाली के उपयोग को जानने के लिए प्राप्त करने के लिए पूरी तरह से है, तो यह शायद एक बेहतर विचार उन्हें एक व्यायाम निर्दिष्ट करके उन साइटों है कि संस्करण एकीकृत में से एक में भंडार की स्थापना करना है नियंत्रण, ऑनलाइन स्रोत कोड ब्राउज़िंग और bugtracking, उदाहरण के Github, Bitbucket, गूगल कोड आदि के लिए

तुम तो काम वे काम के लिए किया था की जांच कर सकते हैं और आप एक बग की रिपोर्ट दर्ज करने के लिए बगट्रैकर उपयोग करें यदि आप कोई गलती पाते हैं जो वे तो तदनुसार निपटने के लिए है। इसके बाद आप बगट्रैकर आदि का उपयोग करके फीचर अनुरोधों को फिर से दर्ज करके असाइनमेंट का विस्तार कर सकते हैं।

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

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

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

एक बार आपके छात्रों ने ऊपर बताए गए कौशल प्राप्त कर लिया है, तो मुझे यकीन है कि "कौन सी ओपन सोर्स प्रोजेक्ट्स हम योगदान दे सकते हैं?" उत्तर देने के लिए तुच्छ हो जाएगा क्योंकि उस समय आपके छात्र खुद के लिए उपयुक्त परियोजना ढूंढने और चुनने में सक्षम होंगे।

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

मुझे यकीन है कि अगर आप चारों ओर देखने के अन्य लेखकों द्वारा उपयुक्त सामग्री के बहुत सारे है, भी कर रहा हूँ ।

0

मुझे हमेशा फ्रीब्ड प्रोजेक्ट को लोगों को सी में प्रोग्राम करने के तरीके के बारे में सिखाने के लिए अच्छा लगता है। उन्हें प्रतिबद्धताओं द्वारा कोड समीक्षा मिल जाएगी जो बेहतर तरीके से कैसे समझाएंगे और उनके पास महान दस्तावेज़ हैं, http://www.freebsd.org/doc/en/books/developers-handbook/book.html। आप बग ठीक करने के लिए स्वयंसेवक कर सकते हैं: http://www.freebsd.org/cgi/query-pr-summary.cgi और वे चीजों की एक बड़ी सूची क्या करना है: http://www.freebsd.org/projects/ideas/ideas.html कुछ सरल कर रहे हैं और कुछ कठिन हैं

1

मैं GitHub की सलाह देते हैं के रूप में वे वास्तव में प्राप्त करने के लिए लोगों से संपर्क करने के लिए एक प्रतिबद्ध बिना शुरू कर सकते हैं भंडार तक पहुंच, और जहां गलत प्रतिबद्धता समस्या नहीं पैदा करेगी क्योंकि यह केवल "स्थानीय" प्रतिबद्धता होगी।

+0

पीएस: मैं अपने आरपीसी पुस्तकालय परियोजना (https://github.com/green-coder/small-rpc) में योगदानकर्ताओं की तलाश में हूं। – Vincent

+0

विन्सेंट मैं आपकी परियोजनाओं में योगदान देना चाहता हूं। मैं उनमें से कुछ के माध्यम से चला गया है। यहां मेरा ईमेल है: [email protected] – faysal

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