मैं अपने कोडिंग कौशल में सुधार कैसे करूं? [बन्द है]


76

यहां प्रश्न के साथ शुरू करने से पहले, मेरे बारे में थोड़ी जानकारी है।

मैं एक कंप्यूटर विज्ञान स्नातक हूँ, जावा मेरी प्राथमिक कोडिंग भाषा है।

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

मेरे साथी कॉलेज के अधिकांश साथी, प्रोग्रामिंग को बिल्कुल भी नहीं समझते हैं।

यहां तक ​​कि मैं पारंपरिक प्रोग्रामिंग वातावरण से बाहर नहीं आ पाया, जो एक हद तक मेरी कोडिंग को सीमित करता है।

वे संभावित तरीके क्या हैं जिनके द्वारा मैं अपने प्रोग्रामिंग / कोडिंग कौशल का विकास और विस्तार कर सकता हूं।

इसके अलावा, क्या आप उसी के लिए स्रोतों का सुझाव दे सकते हैं?

संपादित : स्रोत कोडिंग कौशल के विकास का सुझाव दे रहे हैं।


13
FYI करें: मेरे अनुभव से सैद्धांतिक ज्ञान निश्चित रूप से बाद के भाग में आपकी मदद करेगा
गोपी

6
क्या आप केवल "एक्स दिनों में तैरना सिखाएं" पुस्तक पढ़कर तैर सकते हैं?
प्रमोदको84

9
"विचारपूर्वक अभ्यास"। कुछ ऐसा करें जो आपके वर्तमान स्तर से थोड़ा अधिक कठिन हो, इसे हल करें, इससे सीखें, दोहराएं।

7
@ pramodc84 लेकिन निश्चित रूप से तैराकी से संबंधित एक पुस्तक को पढ़ना और फिर एक नदी में कूदना निश्चित रूप से THAN को सीधे एक नदी में कूदने और तैराकी सीखने की कोशिश करने में मदद करेगा
गोपी

5
यह अधिकांश विश्वविद्यालयों में ऐसा है। एक डिग्री एक अच्छा कोडर होने के बारे में नहीं है; यह उसके पीछे के सिद्धांतों को जानने के बारे में है, और उन्हें कैसे लागू किया जाए - आप कह सकते हैं कि एक अच्छा कोडर होने के नाते स्नातक होने के लिए एक अभ्यास के रूप में छोड़ दिया जाता है।
विन्यासकर्ता

जवाबों:


46

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

आपको किताबें भी मिल सकती हैं, जो विशेष रूप से कोडिंग के लिए समर्पित हैं, उपयोगी हैं; जैसे कि "कोड कम्प्लीट"। उनमें यह वर्णन है कि कौन सा अच्छा कोड है, जो आपके मौलिक ज्ञान के साथ मिलकर आपको एक अच्छा प्रोग्रामर बना सकता है।


8
कोड कम्पलीट पढ़ना अच्छा है- यह वह पुस्तक है जिसकी मैंने सबसे अधिक इच्छा की थी जब मैं एक प्रोग्रामर के रूप में कॉलेज से बाहर आया था।
ग्लेनट्रॉन

2
अब वह पुस्तक मेरी must-readसूची में है। :) धन्यवाद!
योकोम्बिनेटर

2
@ykombinator:(push 'code-complete must-read)
जियोर्जियो

98

मेरा पसंदीदा उद्धरण कन्फ्यूशियस से है:

मैं सुनता हूं, मैं जानता हूं। मैं देखता हूं, मुझे याद है। मैं करता हूं, मैं समझता हूं।

मुझे जो भी ज्ञान मिला, वह एक और एक रणनीति को लागू करने से था:

हमेशा सबसे चुनौतीपूर्ण रास्ता अपनाएं।

आप C # सीखना चाहते हैं? C # डेवलपर के रूप में नौकरी प्राप्त करें।

आप इतालवी सीखना चाहते हैं? एक डिक्शनरी अंग्रेजी / इतालवी के साथ वहां जाएं, और इतालवी बात करें

आप कोडिंग सीखना चाहते हैं? कोड!


19
+1 हमेशा कठिन रास्ता अपनाएं। आखिरकार, वे एक आसान रास्ता बन जाते हैं! अच्छा उत्तर।
रयान हेस

3
यह निश्चित रूप से एक चुनौतीपूर्ण कार्य के लिए खुद को स्थापित करने के लिए चुनौतीपूर्ण काम लगता है, लेकिन मुझे लगता है कि यह सफल होने के लिए प्रेरणा देता है। बहुत बढ़िया जवाब। जिन भाषाओं को मैं सबसे अच्छी तरह से जानता हूं, वे हैं जिनका मैं बिना किसी सुराग के सबसे पहले सिर पर करता हूं और प्रत्येक परियोजना के साथ लगातार सीखता हूं।
क्रिस

2
मैंने सबसे अधिक सुधार करके सबसे कठिन बदलाव किया। यह अधिक सकारात्मक है

2
अच्छी प्रोग्रामिंग एक दर्शक खेल नहीं है।
गुप्त

4
@ पियरे, आप 1) लैटिन और 2) पर्ल सीखना चाहते हैं। लैटिन में कोड पर्ल: csse.monash.edu.au/~damian/papers/HTML/Perligata.html

21

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


1
ठीक ठीक! यह एक महान बिंदु है। संभवत: मेरे पास कोई गुरु नहीं है, अभी तक।
योकोम्बिनेटर

4
कुछ कोड लिखें, और इसे StackOverflow.com पर एक विशिष्ट प्रश्न के साथ पोस्ट करें और आपको बहुत कुछ मिलेगा।
जेएफओ

2
यही कारण है कि मैं हमारी परियोजना पर कोड समीक्षा करने के लिए कुतिया बना रहा हूं, लेकिन "इसके लिए कोई समय नहीं है।"
मेटलएमिस्टर

1
@MetalMikester - लेकिन हमेशा इसे खत्म करने का समय होता है।
जेफ ओक्ट

1
@JeffO यही अब हो रहा है। :(
मेटलकीस्टर

10

यहां एक प्रस्तुति डैन नॉर्थ ने दी और क्यूसन ने नौसिखिए से विशेषज्ञ प्रोग्रामर को स्थानांतरित करने के तरीके पर बताया कि टूल को शार्प करना । नीचे प्रस्तुति से प्रमुख सुझाव दिए गए हैं:

  1. मूल बातों का अभ्यास करें: काटा, मनोरंजन के लिए कोड ...
  2. अन्य लोगों से सीखें: किताबें, ब्लॉग आदि पढ़ें, कोड पढ़ें, जोड़े में कार्यक्रम ...
  3. रुझानों को समझें: अब उद्योग में क्या हो रहा है
  4. ज्ञान साझा करें: किसी चीज़ को सीखने का सबसे अच्छा तरीका उसे समझना और सिखाना है
  5. अपने टूलबॉक्स को बनाए रखें: "टाइमलेस" और नए टूल का उपयोग करें
  6. सीखना सीखें: समझें कि सीखना कैसे काम करता है

8

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

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

नैट किर्बी का एक अच्छा उद्धरण है:

"खराब प्रोग्रामर विवरणों को अनदेखा करते हैं। खराब डिज़ाइनर विवरणों में खो जाते हैं।"

तो अमूर्त के इन दो स्तरों के बीच स्विचिंग वह कौशल है जिसे आपको मास्टर करना चाहिए।

साथ ही प्रति घंटे आप कितने कोड लिख सकते हैं इसकी गति वह नहीं है जिसके लिए आपको लक्ष्य बनाना चाहिए। मुझे डेविड परनास का एक उद्धरण पसंद है :

"मैंने अक्सर डेवलपर्स को` किसी ऐसे व्यक्ति के रूप में सुना है जो जानता है कि एक बड़ी प्रणाली को जल्दी से कैसे बनाया जाए। ' बड़ी प्रणालियों को जल्दी से बनाने में कोई चाल नहीं है, जितनी जल्दी आप उन्हें बनाते हैं, उतना ही बड़ा उन्हें मिलता है! "


5

मैंने या तो एक बेटिंग पूल या एक Baccarat खेल को लागू किया है जो मैंने लगभग हर भाषा में सीखा है।

इस प्रकार का सॉफ्टवेयर कवर करता है

  • तिथियां और समय, गणनाओं के साथ
  • मुद्रा प्रकार और चीजें जिन्हें मुद्रा में और उससे परिवर्तित किया जा सकता है
  • नियमों का एक असतत सेट जो परीक्षण करना आसान है
  • राज्यों, राज्यों और कई संस्थाओं के बीच संक्रमण राज्य संक्रमण के लिए जिम्मेदार है
  • एक ही मॉडल के विभिन्न विचारों वाले एकाधिक उपयोगकर्ता
  • एकाधिक अंत की स्थिति

एकाधिक खिलाड़ी लाठी और पोकर भी काम करेगा।

एक चेतावनी यह है कि मेरे दिन के काम में मैं वित्तीय प्रणालियों पर काम करता हूं और मौका के एक मल्टीप्लेयर गेम और एक ट्रेडिंग सिस्टम लिखते समय विचार करने के लिए चीजों के बीच एक बड़ा ओवरलैप होता है।


4
  • अच्छे ओपनसोर्स प्रोजेक्ट चुनें और कोड पढ़ें।
  • अपने लिए एक मध्यम आकार की परियोजना लें और कोडिंग शुरू करें
    • यदि आप वेब विकास में रुचि रखते हैं, तो अपनी पसंदीदा तकनीक का उपयोग करके खरोंच से एक मौजूदा साइट बनाने की कोशिश करें; कैसे django में ट्विटर के बारे में?
    • यदि आप डेस्कटॉप अनुप्रयोग विकास में हैं, तो नोटपैड से शुरू करें और उन्नत सुविधाओं (regex आधारित खोजों, के साथ शुरू करने के लिए) का समर्थन करने के लिए इसे सुधारें।

4

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

कोडिंग समान है। इसका बेहतर तरीका यह है कि आप दूसरों का क्या अध्ययन करें, समझें कि वे ऐसा क्यों करते हैं, और फिर इसे स्वयं करें।


हाँ, टाइगर वुड्स बहुत सारे प्रेमी होने के कारण "सर्वश्रेष्ठ" गोल्फर बन जाते हैं। :-) तो वह वास्तव में एक अच्छा उदाहरण नहीं है।
डीएल

4

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

आप वहां देख सकते हैं: http://codekata.pragprog.com/


4

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

मैंने अभी कुछ महीने पहले कॉलेज खत्म किया था जहाँ मैंने जावा का अध्ययन किया था। उसी के रूप में आप i मैं ठीक से कोड करने के लिए कैसे पर एक सुराग नहीं है। लगभग एक महीने पहले मैं PHP में एक वेब ऐप बनाना चाहता था। मुझे नहीं पता था कि मैं क्या कर रहा था, लेकिन अभी इसके लिए गया था। यह पहले डराना और भारी था लेकिन जैसे-जैसे आप अभ्यास करते हैं यह स्वाभाविक हो जाता है। मैंने कई बार आवेदन भी लिखा, हर बार इसे और भी सरल बनाया। अब स्क्रैच से ऐप पर काम कर रहे हैं, लेकिन इस बार यह पता लगाना है कि इसे कैसे उन्मुख किया जाए और PEAR और इसके मॉड्यूल क्विकफॉर्म का उपयोग किया जाए जो कि एक और बाधा है, लेकिन फिर भी निर्धारित और उत्साहित नहीं है।

इसलिए अभ्यास करें। पानी में कूदो! शुभकामनाएँ :)


3

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

या वैकल्पिक रूप से आप भाषा वाक्यविन्यास संदर्भ पढ़ सकते हैं यदि कोई अच्छा है जो सबसे अद्यतित संस्करण को कवर करता है। एक उदाहरण के रूप में यहाँ C # संदर्भ है (शीर्ष पर संस्करण नहीं है। मैंने एक अधिक लोकप्रिय पुराने संस्करण को देखकर गलती की है जो कि मेरे पास वाक्यविन्यास नहीं था)


3

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

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

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

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


2

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

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

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


2

मेरे सुझाव

  • एक पालतू परियोजना खोजें और इसे एक अलग भाषा में लिखें (लाइक पायथन / सी #) जिसे आप जानते हैं। यह आपको कल्पना से अधिक सिखाएगा। अन्य परियोजनाओं को देखें जो समान हैं और उनके साथ सुविधा समता प्राप्त करने का प्रयास करें। आप इसके साथ धीमी गति से आगे बढ़ सकते हैं और मामूली लक्ष्य रख सकते हैं, लगातार नई सुविधाओं के साथ अपने कठिनाई स्तर को बढ़ा सकते हैं। यह भी आपका शो पीस बन जाता है जिसे आप नौकरी के लिए साक्षात्कार के लिए जाते हैं।
  • वेब सेवाओं, जावास्क्रिप्ट, अजाक्स, जियोकोडिंग और मूल रूप से कुछ भी है कि सॉफ्टवेयर दुनिया में हेडवे बना रहा है जैसे प्रासंगिक प्रौद्योगिकियों के लिए अपनी परियोजना में उपयोग खोजें।
  • अन्य ऑपरेटिंग सिस्टम जैसे Linux / freebsd के साथ खेलें। जितना अधिक एक्सपोजर आपको विभिन्न प्रकार के सिस्टम से मिलता है, उतना ही आप सोच समझ कर उनसे आगे बढ़ेंगे, और उन्होंने चीजों को जिस तरह से किया था, उसी तरह से किया।
  • जब आपके कोड के कुछ हिस्सों के साथ किया जाता है, तो उस पर वापस जाएं और इसे लगातार सुधारने का प्रयास करें। अक्षमताओं का पता लगाएं, जरूरत पड़ने पर और टिप्पणियां जोड़ें, इसे सही करने का प्रयास करें।
  • C2.com के आसपास खोदो। बहुत सी अच्छी कोडिंग प्रथाएं हैं। इन्हें सीखें और इन्हें अपने प्रोजेक्ट में लागू करने का प्रयास करें।
  • व्यावहारिक प्रोग्रामर और कोड पूरी तरह से किताबें पढ़ें, वे आपको युद्ध की कठिन प्रोग्रामिंग का ज्ञान देंगे।
  • यह असंबंधित लग सकता है, लेकिन एक और तकनीकी शौक खोजें यदि आपके पास पहले से ही आरसी कारों को चलाने, एक संगीत वाद्ययंत्र बजाने या एक विदेशी भाषा सीखने की तरह नहीं है। आपके मस्तिष्क के अधिक टुकड़े बेहतर उपयोग में हैं, और आपको समय-समय पर खोलना होगा क्योंकि प्रोग्रामिंग बहुत अधिक हो सकती है।

2

सहकर्मी समीक्षा वास्तव में आपके कोड की गुणवत्ता में सुधार करने में मदद करती है। यदि आपके पास कोई वास्तविक संरक्षक नहीं है, तो आप StackOverflow या RefactorMyCode या मेलिंग सूचियों पर अपना कोड [आवश्यक को कम करने के बाद] पोस्ट कर सकते हैं और लोग आपके कोड की गुणवत्ता में सुधार करने में आपकी सहायता करेंगे।


1

"अभ्यास!" यह एक क्लिच है।

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


1

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

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

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


1

मैं कहूंगा कि आपको बिल्डर, फैक्ट्री, कम्पोजिट और अंततः ऑब्जर्वर, मध्यस्थ और फ्लाईवेट जैसे डिज़ाइन पैटर्न पर पढ़ना चाहिए। डिज़ाइन पैटर्न कोडिंग समाधानों के लिए अंत-सभी-सभी नहीं हैं, लेकिन वे प्रदर्शित करते हैं कि ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की सैद्धांतिक अवधारणाओं को कैसे लागू किया जाए।


1

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

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

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