2009-02-06 13 views
23

जब आप कक्षाएं बना सकते हैं और साधारण सामान (जीयूआई, टेक्स्ट फाइलें इत्यादि ...) कर सकते हैं, तो मैं यहां से कहां से जाऊं? मैंने कोड पूर्ण द्वितीय संस्करण पढ़ना शुरू कर दिया है जो कि बहुत अच्छा है लेकिन एक सामान्य प्रोग्रामिंग पुस्तक है। मुझे अगले विषयों को क्या सीखना चाहिए?मैं एक बेहतर सी # प्रोग्रामर कैसे बन सकता हूं?

उत्तर

52

मैं तर्क दूंगा कि, किसी बिंदु पर, यह अब विषयों के बारे में नहीं है। यह सामान कर रहा है। आपको कोड लिखना होगा, आपको इसे बहुत कुछ लिखना होगा।

लोग आपको एक नई भाषा सीखते समय कोशिश करने और हल करने के लिए अक्सर कुछ विशिष्ट समस्याएं ढूंढने के लिए कहेंगे और यह बिल्कुल ठीक है, लेकिन यदि आपके पास वास्तव में आनंद लेने या वास्तव में प्रशंसा करने का आनंद लेने का कोई एप्लिकेशन या सुविधा है, तो निर्माण करने का प्रयास करें यह (या इसके कुछ हिस्सों) स्वयं। और भी, अगर आपको लगता है कि अरे, तो यह कैसे लगता है [यह एप्लिकेशन] करता है ?! इसे बनाने का प्रयास करें।

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

आप कभी नहीं जानते, हालांकि, उन छोटी शौक परियोजनाओं में से एक किसी के लिए समस्या को हल कर सकता है।

+0

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

+0

मुझे लगता है कि मैं एक इंटरनेट ब्राउज़र बनाउंगा! (मजाक) – Kredns

+0

+1 करके सीखने और कई अलग-अलग चीजें करने से आपको अपने प्रोग्रामिंग कुंग फू को बेहतर बनाने के लिए सबसे अच्छा प्रदर्शन मिल जाएगा। –

11

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

+0

मुझे लगता है कि पहले जवाब के साथ, मैं यह करने जा रहा हूं। धन्यवाद! – Kredns

+0

यह एक अच्छा अभ्यास है। मैंने जावा में रात स्कूल में ऐसा किया और इससे बहुत सी चीजें सीखीं। –

2

कोड लिखें, बहुत सारे। और उन fluffy छोटे हैलोवर्ल्ड प्रकार के कार्यक्रम नहीं।

या तो एक वास्तविक प्रोजेक्ट खोजें जो आपको या कुछ हद तक लिखा गया है जिसे आप सी # में परिवर्तित कर सकते हैं और ऐसा कर सकते हैं। केवल (और, दुर्भाग्य से, गलतियों को गलती करके) हम सीखते हैं।

23

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

+0

ओह हाँ, वह किताब कमाल है! प्रत्येक .NET कोडर को इसे पढ़ना चाहिए। –

2

अभ्यास,, ओपन सोर्स प्रोजेक्ट को देखने समझते हैं कि यह पूरी तरह से क्या करता है और कैसे यह मजाक चौखटे, ORM, आदि जैसे यह, विशेष रूप से जटिल पुस्तकालयों करता

8

किसी अन्य भाषा में जानें और सी # सीखा ज्ञान लागू होते हैं।

एफ #, स्काला, हास्केल - बहुत लेने के लिए :)

+2

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

5

ReSharper जाओ, सभी सिफारिशों सक्षम रखने के लिए और उन्हें समझते हैं।

9

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

2

CodePlex.com और GitHub.com पर जाएं और खुली स्रोत परियोजनाओं की तलाश करें जिनके लिए आप योगदान दे सकते हैं।

2

q/a stackoverflow, C# विषय पर देख रहे हैं।:- डी

1

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

शायद अगली फेसबुक का निर्माण या गूगल :)

0

एक नई भाषा के साथ, Project Euler समस्याओं में से कुछ को हल करने के प्रयास करें। पर गणित और कोडिंग में सुधार करना!

+0

सभी ईमानदारी में यह एक डेवलपर के रूप में आपको सुधारने के लिए बहुत कम करता है। कॉलेज के बाद से मुझे केवल 10 एल्गोरिदम लिखना पड़ा था। वास्तविक विश्व विकास आम तौर पर गणित की समस्या को हल करने के बारे में कम है लेकिन उपयोगकर्ता की समस्या को हल करना है। –

2

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

2
  • पढ़ें कोड
  • लिखें कोड
  • टेस्ट कोड
  • पढ़ें किताबें (some suggestions), ब्लॉग आदि
  • दोहराएँ
1

अच्छा इकाई परीक्षण लिखने और कोड प्राप्त करने की कोशिश जितना संभव हो सके कवरेज

2

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

3

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

3

सर्वोत्तम प्रथाओं और सॉफ्टवेयर इंजीनियरिंग सीखें और उन्हें सी # पर कैसे लागू करें।

संस्करण नियंत्रण, TDD, डोमेन प्रेरित विकास, सतत एकीकरण, MVC ने एमवीपी, पैटर्न के एक मुट्ठी जानें: मुखौटा, कारखाने, भंडार बनाम सक्रिय रिकॉर्ड आदि

उपकरण में मदद मिलेगी आप पुनर्रचना से बचने जानें पहिया: मान्यता आवेदन ब्लॉक, NHibernate, आदि

मैं CodeBetter पर लोगों से इस नि: शुल्क ई बुक पाया कुछ दिन पहले: link text

मैं इसके बारे में सब नहीं पढ़ा है लेकिन यह की तरह लग रहा एक अच्छा पढ़ा। बेहतर प्रोग्रामर के साथ एक टीम में

1
  • कार्य - बड़े ओपन सोर्स प्रोजेक्ट पर कार्यरत हो
  • कार्य करें।

मैं यहां अधिकांश लोगों से असहमत हूं कि केवल सामानों का निर्माण करके सीखना सबसे अच्छा तरीका है।

+1

बिल्कुल सही ... टीमवर्क सिद्धांतों/पद्धतियों में अन्य दृष्टिकोण और अंतर्दृष्टि प्राप्त करने के लिए टीमवर्क इतना महान संसाधन है ... और वास्तविक जीवन में, बड़े पैमाने पर परियोजनाएं आप शायद ही कभी एक व्यक्ति-सेना हैं। –

0

सी # एक महान पुस्तक के माध्यम से सीएलआर !!मदद की (अभी भी मदद) मुझे भाषा को बहुत समझने में मदद करता है आप सी # भाषा विनिर्देश पुस्तिका

1

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

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

यदि कोई भी ग्राहक आपके वर्तमान कौशल सेट के साथ ऐसी परियोजना पर काम करने के लिए 'मौका देने' नहीं चाहता है, तो आगे बढ़ें (या किसी भी मामले में) और एक ओपनसोर्स प्रोजेक्ट पर कोडिंग शुरू करें और दोस्तों को रखें, सहकर्मियों और स्थानों जैसे स्टैक ओवरफ्लो शामिल हैं।

तैयार रहें और 'त्रुटियों' बनाने के लिए खुले रहें (जैसा कि आप उन्हें बाद में न्याय कर सकते हैं) ... क्योंकि केवल एक गजियन त्रुटियों के साथ आप उनके बीच पतला/हवादार पथ देखते हैं।

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

1

सुझाव है कि आप सी # गहराई में पढ़ें। यह सी # में एक गहरी गोताखोरी है जो भाषा की आपकी समझ को काफी बढ़ाएगी। लेखक, जॉन स्कीट, इस साइट पर एक लर्कर होने की अफवाह है ...

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