2009-07-02 16 views
13

के लिए काम नहीं करते हैं तो वास्तविक दुनिया प्रोग्रामिंग कौशल कैसे प्राप्त करें I तकनीकी आर्किटेक्चर फर्म में तकनीकी समूह में काम करते हैं। हालांकि यहां कई लोग हैं जो विभिन्न प्रोग्रामिंग और स्क्रिप्टिंग भाषाओं में बहुत कुशल हैं, यह एक सॉफ्टवेयर कंपनी के विकास पर्यावरण के पर्यावरण से बहुत दूर है। विकास परियोजना पर काम करने वाले एक या दो लोग शायद ही कभी अधिक हैं, जिनमें से अधिकांश केवल स्वचालन स्क्रिप्ट हैं। कोई स्रोत नियंत्रण नहीं है, या संस्करण नियंत्रण सेटअप या ऐसा कुछ भी नहीं है।जब आप किसी सॉफ्टवेयर कंपनी

मेरी अकादमिक पृष्ठभूमि इंजीनियरिंग है लेकिन सीएस या सीई नहीं है। इसलिए मैंने स्कूल में कई प्रोग्रामिंग कक्षाएं ली हैं, और जब मैं छोटा बच्चा था तब वास्तव में वीबी के साथ बहुत कुछ झुका हुआ था। फिर भी यह पिछले साल तक मेरे वर्तमान काम पर नहीं था, मुझे वास्तव में स्कूल में होमवर्क समस्याओं के बाहर कोई वास्तविक विकास करने का अवसर मिला है। पिछले वर्ष में मैंने सरल स्वचालन स्क्रिप्ट को सी # .NET में पूर्ण झटका प्लग-इन अनुप्रयोगों में बदलने से संक्रमण किए हैं।

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

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

+0

उत्तर पर आपकी टिप्पणियों में आप बताते हैं कि समस्या यह है कि आपके पास अपने कोड की समीक्षा करने के लिए कोई भी नहीं है। इस समस्या को दर्शाने के लिए आपको अपना प्रश्न अपडेट करना चाहिए। –

उत्तर

6

एक कोडिंग शौक परियोजना है कि हितों आप का पता लगाएं। यदि आपको यह दिलचस्प लगता है तो आप कोड पर काम करने के लिए और अधिक समय बिताएंगे, अगर आप इसे सीखने के लिए बस कर रहे हैं।

जहाँ तक

के रूप में वहाँ खुला स्रोत परियोजनाओं (अधिमानतः नेट आधारित)

SourceForge के पास जाकर कुछ है कि आप के लिए दिलचस्प लग रहा है खोजने के लिए और मिल लगाने के लिए एक रास्ता है शामिल। फिर दिलचस्प पर जोर दिया। इस बारे में चिंता न करें कि यह कितना व्यावहारिक है।

+3

http://www.codeplex.com/ पर काम करने के लिए बहुत सारी नेट परियोजनाएं हैं। – jle

+0

वास्तव में काम पर मेरी परियोजनाएं बहुत रोचक हैं, मुझे बस काम करने के लिए और अधिक लोगों की आवश्यकता है। धन्यवाद मैं कोडप्लेक्स –

3

मैं यहां एक अंग पर बाहर जा रहा हूं और सुझाव देता हूं कि आप कुछ कोड लिखें।

Code Complete पढ़ें। StackOverflow पर इस विषय के बारे में अन्य प्रश्न देखें। एक ओपन सोर्स प्रोजेक्ट ढूंढें और इसमें योगदान दें। अपनी खुद की पालतू परियोजना है कि कौशल आप में रुचि रखते हैं पर केंद्रित है शुरू करो।

When to use Design patterns
How to get into C# Open Source projects

+0

ठीक है, मुझे कोड लिखने की ज़रूरत है, लेकिन मुझे लगता है कि मेरी समस्या यह है कि मुझे यह बताने के लिए कोई और नहीं है कि मेरे और अन्यथा कामकाजी कोड में सुधार कैसे किया जा सकता है। –

+0

इस बारे में चिंता न करें कि आपका कोड कैसे सुधार किया जा सकता है। इसके बजाय आपको सीखना चाहिए कि कोड के साथ और अधिक चीजें कैसे करें। कोई भी कोड कभी सही नहीं है। –

+0

कोड पूर्ण एक महान पुस्तक है यदि आप अपनी कोड गुणवत्ता में सुधार करना चाहते हैं - क्लासिक्स में से एक। –

0

आप बहुत सी चीजें कर सकते हैं। ये दिमाग में आते हैं:

  • ओपन सोर्स प्रोजेक्ट में Particpate।
  • पढ़ें StackOverflow एक बहुत
  • StackOverflow पर सवाल का एक बहुत से पूछो
  • पढ़ें अच्छी किताबें
+1

देखेंगे, इसके अलावा, यहां सवालों का जवाब देने का प्रयास करें। खासकर जिन लोगों का मतलब है कि आपको चीजों को आजमा देना है। – Richard

1

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

0

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

3

असली दुनिया प्रोग्रामिंग कौशल: एक पेशेवर वातावरण में आप जीवित रहने के लिए कुछ कर सकते हैं।

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

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

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

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

1

अनुभवी डेवलपर्स खोजें जो आपके द्वारा पहले से किए गए कुछ परियोजनाओं पर समय-समय पर अनौपचारिक डिज़ाइन/कोड समीक्षा करने के इच्छुक हैं (क्योंकि आप उन्हें अच्छी तरह जानते हैं) ताकि वे पेशेवरों/विपक्ष को समझ सकें और हल करने के लिए संभावित विभिन्न दृष्टिकोण वही समस्याएं

अधिक अनुभवी डेवलपर्स आप कैसे अनुभव कर सकते हैं कि अनुभवी डेवलपर्स आप जिन समस्याओं से परिचित हैं, उन्हें हल करेंगे, अगली समस्या को हल करने के लिए आपके पास जितने अधिक विकल्प होंगे। प्रत्येक डेवलपर्स को मूल रूप से अलग होने की उम्मीद है, फिर भी अभी भी प्रबुद्ध है। :-)

2

एक बहुत ही उच्च प्रोफ़ाइल सी # ओपन सोर्स सॉफ्टवेयर प्रोजेक्ट है जो हमेशा अधिक सहायता का उपयोग कर सकता है।

इसे Mono Project कहा जाता है।

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

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