क्या आप टास्क पूरा करने के बाद भी कोड भूल जाते हैं? [बन्द है]


13

मैं एक नया प्रोग्रामर हूं और सीनियर प्रोग्रामर्स (प्रोग्रामर्स जिन्हें वास्तविक दुनिया में कुछ अनुभव है) से पूछना चाहता हूं।

मैं अपना काम करता हूं और कोडिंग के बाद, मेरी परियोजना पूरी हो जाती है, लेकिन ईमानदारी से कहूं तो मुझे कोड, कक्षाएं और रूपरेखा नाम और उनकी संपत्तियां याद नहीं हैं।

कभी-कभी मुझे खुद पर भी शक होता है कि क्या मैंने इसे बनाया है?

क्या यह सभी प्रोग्रामर के साथ सामान्य है या क्या मैं सबसे साहसी प्रोग्रामर हूं जो कोड और क्लासेस / प्रॉपर्टी के नाम याद नहीं रख सकता?

संपादित करें:

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

जवाबों:


24

सभी ईमानदारी में, मुझे नहीं पता कि आपके द्वारा काम किए गए कोड को "भूल" करने की क्षमता के बिना कोई दीर्घकालिक डेवलपर कैसे हो सकता है। परियोजनाओं और परिणामी कोड की मात्रा अंततः शुद्ध जानकारी अधिभार को जन्म देगी।

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


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

मुझे लगता है कि आप सही हैं, सिर्फ इसलिए कि मैं उस कोड को "भूल गया" हूं जिसे मैं 3-4 अलग-अलग प्लेटफार्मों में प्रोग्राम कर सकता हूं!
necixy

9

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

समय के साथ आपको जो मिलेगा, यदि आप सक्रिय रूप से सुधार कर रहे हैं, तो यह है कि आप पुराने दोषों को पुराने कोड (जो मैं आपको सलाह देता हूं कि आप पढ़ते हैं) पर पढ़कर ही आप देखेंगे। उस अभ्यास के माध्यम से यह करना आसान हो जाता है; किसी भी अन्य कौशल की तरह।

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


5

मैंने कई चीजों को भूल जाने के बाद उनका उपयोग किया है, लेकिन उन्हें अलग तरह से भूल गया हूं।

मैंने खुद को वर्षों से देखा है और मैं इस निष्कर्ष पर पहुंचा हूं कि हमारा मस्तिष्क (ठीक है, मेरा मस्तिष्क) एक निश्चित कैशिंग रणनीति को नियोजित करता है:

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

  • जानकारी के उन टुकड़ों तक बार-बार पहुंचना, जो कुछ महीने बाद नहीं सीखे, उन्हें किसी तरह से बढ़ावा देता है ताकि उन्हें महीनों तक याद रखा जा सके, तभी वे समाप्त हो सकते हैं।

  • कई वर्षों के दौरान ज्ञान के ब्लॉक तक बार-बार पहुंच, कई महीनों के उपयोग अंतराल के साथ उन्हें कुछ प्राथमिकता वाली मेमोरी में बढ़ावा देता है जहां उन्होंने वर्षों तक रखा था।

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


2

अक्सर। टिप्पणियाँ पाज़ हो गई हैं ', लेकिन मुझे लगता है कि मैं आमतौर पर अपनी टिप्पणियों से अपने कोड को पहचान सकता हूं।

संपादित करें: मैं यह नहीं कह रहा हूं कि मैं इस प्रवृत्ति से सहमत हूं । मैं सिर्फ इतना कह रहा हूं कि आज यही चलन है। जैसा कि डेव बताते हैं, निश्चित रूप से एक ब्रेकिंग पॉइंट है। यहाँ एक पूरी तरह से अद्भुत चर्चा है: "टिप्पणियाँ एक कोड गंध हैं" । मैं "टिप्पणियों में दुनिया को कोडबेस (आवश्यकताएं, व्यापार परिवर्तन, आदि) के बारे में जानकारी प्रदान करने के लिए हूं" शिविर।


टिप्पणियाँ पास हैं? बस सच नहीं है।
स्टीव

1
ओह, मैं सहमत हूं; मैं सिर्फ यह कह रहा हूं कि ऐसा लगता है कि टिप्पणियों की आवश्यकता नहीं होनी चाहिए। मैंने ऐसे लोगों के साथ साक्षात्कार किया है जिन्होंने जोर देकर कहा था कि विधि का नाम आपके लिए आवश्यक सभी टिप्पणी होना चाहिए। स्पष्ट रूप से, वे एक पौराणिक जगह पर काम करते हैं, जहां व्यावसायिक आवश्यकताएं अर्ध-वार्षिक नहीं बदलती हैं।
माइकल ब्लैकबर्न

2
मेरा तर्क है कि PullContractDataFromProfileAndDetermineZipRadiusFromCurrentLocation () वर्णनात्मक है, यह अपठनीय कोड के लिए भी बनाता है क्योंकि यह प्रवाह को नष्ट कर देता है।
डेव वाइज

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

@ क्या: जबकि मैं आपसे सहमत हूं, आपके पास दो जिम्मेदारियों के साथ एक तरीका है। आपकी तपस्या 4 जय मार्टिंस और 2 गैंगऑफफोर्स हैं।
माइकल ब्लैकबर्न

1

सिंटेक्स मुझे आमतौर पर एक-दो उपयोग के बाद याद आता है। उदाहरण के लिए, जब मैंने पहली बार जेनरिक या लाइनक का उपयोग करना शुरू किया, तो मुझे वाक्य रचना अधिकार प्राप्त करने में कुछ कठिनाई हुई।

IntelliSense निश्चित रूप से संपत्ति और विधि नामों को याद रखने में मेरे काम को बहुत आसान बनाता है।


1

जब मैं एक परीक्षक था तब कंपनी के प्रमुख देव ने एक बार मुझे बताया था कि 6 महीने पहले कोड लिखा गया था, मेरे किसी भी व्यक्ति को इसके लिए जिम्मेदार नहीं ठहराया जा सकता है। उस समय इसने मुझे झकझोर दिया। अब जब मैं एक डेवलपर बनने के लिए आगे बढ़ा हूं, जिसे मैं समझता हूं। मुझे उस कोड का विवरण याद नहीं है जो मुझे पता है कि मैंने उस पर काम किया है, लेकिन विवरण वहां नहीं हैं।


0

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

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

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