क्या एक डेवलपर को विवरण याद करने के लिए मजबूर किया जाना चाहिए? [बन्द है]


33

कई बार मैं अपने आवेदन के बारे में बातें भूल जाता हूं। मैं तालिका के नाम या एक क्वेरी क्या किया था याद नहीं है और मैं जो मैं चाहता हूँ पाने के लिए खोज। मेरी टीम के नेता ने मुझे बताया कि मैं उन तालिका नामों को याद करने वाला हूं जिनका मैं उपयोग करता हूं।

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


27
काश मैं उन्हें भूल सकता।
जेएफओ

6
उसे बताएं कि उसे अपने बाएं हाथ से लिखना चाहिए (जो कुछ के लिए बेहद आसान है और दूसरों के लिए काफी कठिन है)।
जॉब

4
"मेज के नाम याद करने के लिए मजबूर" ??? WTF !? “हर किसी को सप्ताह के अंत तक इन दस हजार कॉलम नामों को सीखना चाहिए! फिर एक परीक्षा होगी; किसी को भी 100% नहीं मिल रहा है, जब मैं राबिड शेरों के अपने निजी गौरव के लिए मजबूर हो जाता हूँ! बवहहाहा !!!!! ”
डोनल फैलो

4
जब मैं एक सह-ऑप छात्र था, तो मैंने एक ऐसे व्यक्ति के साथ काम किया, जिसने मुझसे बिल्कुल वही मांग की, जो मुझे बताया कि मैं "समय बर्बाद कर रहा हूं" जब मैंने चीजों को देखा, तो कहा "आपने कहा था कि आप इसे पढ़ रहे हैं!" जब मैं स्मृति से तालिका के नाम (और उनकी सामग्री) का पाठ नहीं कर सकता था, और पूरी तरह से मुझे सलाह देने से रोकने के लिए एक बहाने के रूप में तालिका के नाम याद करने की प्रतिबद्धता की कमी का इस्तेमाल किया। मैंने उसे अपनी सह-ऑप रिपोर्ट में देखा।
user16764

2
याद मत करो, याद करो।
tylermac

जवाबों:


63

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

आपके पास उन उपकरणों तक भी पहुंच होनी चाहिए जो आपको यहां ऑटो-पूर्ति और इस तरह की मदद करते हैं।

100 से अधिक तालिकाओं की एक बड़ी प्रणाली में ऐसा कोई तरीका नहीं है जिससे आप वास्तव में हर तालिका के नाम और हर कॉलम के नाम को याद रख सकें, हालाँकि, यादगार, खोज योग्य नाम और नियमित उपयोग के साथ आपको अपने आप को सबसे महत्वपूर्ण विवरण याद रखना चाहिए और जिन्हें आप हर उपयोग करते हैं। दिन।


6
4k तालिकाओं वाले ऐप में काम करने के बाद, मैं इस सलाह की उपयोगिता पर ध्यान दे सकता हूं। संस्मरण मदद नहीं करता है, परियोजना सम्मेलनों करते हैं (विशेषकर जब वे लागू होते हैं, और यदि नहीं, तो आपको अपनी स्मृति पर भरोसा करना होगा)।
विनीत रेनॉल्ड्स

1
खोज में मदद करने के लिए, चीट-शीट और / या (मॉडल) उन चीजों के आरेख बनाएं जिनकी आपको ज़रूरत है। इस तरह, आपको बस अपने पेपर या डॉक / इमेज को देखना होगा और आपके लिए आवश्यक टेबल और कॉलम के नामों को स्कैन कर सकते हैं।
Kissaki

34

आइंस्टीन ने कहा "कभी याद न करें कि आप [पुस्तकों में] क्या देख सकते हैं", और मैं पूरी तरह से सहमत हूं।

अमूर्त सामान (विकास तकनीकों और सिद्धांतों) के लिए अपनी स्मृति का उपयोग करें न कि ऐसे तथ्य जो आप पा सकते हैं जब आपको उनकी आवश्यकता हो।


हाँ ... यह याद नहीं है, यह आप जानकारी का उपयोग के रूप में आ जाएगा। हालांकि इस काम के लिए सभी समय पर संदर्भ दस्तावेज हैं।
न्यूटोपियन

17

स्वीकार करने के लिए शर्मिंदा - मैं अब लगभग 30 वर्षों से सी का उपयोग कर रहा हूं, लेकिन यह कभी याद नहीं कर सकता कि फ़ंक्शन बिंदुओं को कैसे घोषित किया जाए - मुझे सिंटैक्स की जांच के लिए हमेशा K & R से बाहर निकलना होगा।

इससे भी ज्यादा शर्मनाक, मुझे यह सोचना है कि वास्तव में टाइप्डिफ कैसे काम करता है - क्या यह है:

 typedef foo int;

या

 typedef int foo;

ये मेरे व्यक्तिगत अंधे धब्बे हैं। मुझे चिंता नहीं होगी यदि आपके पास समान हैं।


2
+1: मैंने 1985 में C की प्रोग्रामिंग शुरू की थी, और अभी भी यह देखना है कि फंक्शन पॉइंटर्स कैसे घोषित करें। मैंने दूसरे दिन एक स्टैब लिया और यह काम किया, और मैं खुद से काफी खुश था। (मुझे याद नहीं है कि टाइपराइफ कैसे करना है ... :-)
बॉब मर्फी

2
मुझे खुशी है कि मैं जिस भाषा (C #) के साथ काम करता हूं, फ़ंक्शन पॉइंटर्स के बराबर वास्तव में मनुष्यों द्वारा पार्स करने योग्य है, न कि केवल संकलक के रूप में।
svick

@svick ओह, मुझे फंक्शन पॉइंट्स पढ़ने में कोई समस्या नहीं है, यह याद है कि उन्हें कैसे लिखना है जिससे मुझे परेशानी हो।
नील बटरवर्थ

3
मैंने जानबूझकर C या C ++ पूर्ववर्ती तालिकाओं को याद नहीं किया। अगर मुझे उनकी आवश्यकता है, तो मैंने उन्हें तत्काल संदर्भ के लिए काम में ले लिया है, और मैं वास्तव में ऐसा कोड नहीं लिखना चाहता जो किसी और को भ्रमित कर दे जिसने उन्हें याद नहीं किया है।
डेविड थॉर्नले

गैर-स्पष्ट पूर्वता नियमों पर निर्भर कोड खराब कोड है।
रोबोट

9

कंप्यूटर सामान याद रखने में अच्छे हैं। कंप्यूटर उन सामानों को खोजने में भी अच्छे हैं जिन्हें वे पहले याद कर चुके हैं।

तो मुख्य कौशल कंप्यूटर को आपकी मेमोरी के विस्तार के रूप में उपयोग करना है। स्वच्छ कोड, दस्तावेज़ सामग्री लिखें, प्रभावी रूप से खोज टूल का उपयोग करना सीखें, अपना विकास वातावरण सेट करें ताकि चीजों को ढूंढना आसान हो, आदि।

एक अच्छा दुष्प्रभाव यह है कि आप दूसरों के लिए अपने कोड को पढ़ना भी आसान बना देंगे।


5

याददाश्त जरूरी है

एक मजबूत स्मृति वास्तव में उन शीर्ष प्रतिभाओं में से एक है जो एक डेवलपर के पास हो सकती है; वास्तव में कोई भी हो सकता है। यह वास्तव में एक विशेष बात है और मैं इसके साथ धन्य लोगों से ईर्ष्या और प्रशंसा करता हूं। यह निश्चित रूप से किसी व्यक्ति को एक मजबूत डेवलपर, वकील, मैकेनिक या (पसंद के काम सम्मिलित करें) में मदद कर सकता है।

कितना चाहिए?

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

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

आप कैसे सुधार कर सकते हैं?

मैं स्मृति पर विशेषज्ञ नहीं हूं, लेकिन कुछ का मानना ​​है कि आप वास्तव में मस्तिष्क के खेल (क्रॉसवर्ड, सुडोकु, पहेलियाँ, आदि) जैसे मानसिक व्यायामों के माध्यम से स्मृति में सुधार कर सकते हैं। सिद्धांत यह है कि आपका मस्तिष्क एक मांसपेशी की तरह है और यदि आप इसे विभिन्न तरीकों से उपयोग करते हैं और व्यायाम करते हैं तो आप इसे मजबूत कर सकते हैं।

यह देखना दिलचस्प होगा कि समय के साथ मस्तिष्क के खेल, प्रोग्रामिंग और इंटरैक्टिव गतिविधियां करने जैसी चीजें मस्तिष्क पर क्या प्रभाव डालती हैं। क्या ऐसी चीजें उम्र या मनोभ्रंश द्वारा लाई गई स्मृति हानि की शुरुआत से लड़ने में मदद कर सकती हैं?


5

जहां से मैं आता हूं, एक पुरानी कहावत है कि अंग्रेजी में कुछ इस तरह से जाता है: "एक मूर्ख याद करता है, एक स्मार्ट आदमी लिखता है"। असल में, कोई मैटर आपकी याददाश्त कितनी अच्छी है, आप भूल जाएंगे । आप केवल इंसान हैं। और यह, परिणामस्वरूप, मानव स्मृति पर निर्भर करता है ... अच्छी तरह से, अविश्वसनीय। यहां तक ​​कि अगर आपको लगता है कि आप उन तालिका नामों को याद करते हैं, तो क्या आप 100% निश्चित हो सकते हैं? तालिका नामों को देखने के लिए आपको बस कुछ सेकंड की आवश्यकता होती है, लेकिन आपको गलत वर्तनी के कारण होने वाले कीड़ों को ट्रैक करने के लिए घंटों या दिनों की आवश्यकता हो सकती है।

निष्कर्ष के रूप में, नहीं, यह एक हास्यास्पद आवश्यकता है, विशेष रूप से बड़ी परियोजनाओं पर, जिसमें हजारों टेबल और कक्षाएं हो सकती हैं।


3

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

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


1
मैं विवरणों को याद करने के लिए दृढ़ता से असहमत हूं। आपको अवधारणाओं और कार्यों को याद रखना चाहिए। यही है, पता करें कि आपका सिस्टम क्या कर सकता है, और पता करें कि कैसे पता करें कि सटीक विधि / चर / स्तंभ नाम क्या है।
edA-qa mort-ora-y

1
मैं आपसे सब कुछ जानने की उम्मीद नहीं करूंगा, लेकिन मैं उम्मीद करूंगा कि किसी विशेष सबसिस्टम पर काम करने वाला व्यक्ति उस सबसिस्टम को अंदर और बाहर जानता होगा। मुझे लगता है कि ज्ञान आपके काम के बारे में ध्यान रखेगा।
थॉमस ओवेन्स

3

क्या सटीक वर्ग नामों को याद करने का कोई मतलब है? मुझे ऐसा नहीं लगता।

क्या इस बात को जानने का कोई मतलब है कि आपकी परियोजना वर्ग के नामों में किस तरह का उपयोग करती है, इसलिए आप उन्हें तेजी से खोज सकते हैं? निश्चित रूप से।


2

मैं इस बात से सहमत नहीं हूं कि आपके पास तालिका के नाम कंठस्थ होना चाहिए, लेकिन उन्हें अनुमान लगाना आसान होना चाहिए। अनुमान लगाना आसान बनाने के लिए, सुसंगत होना चाहिए। इस तरह, आप अपने आप से यह नहीं पूछेंगे कि "हम्म .. फू टेबल बहुवचन या एकवचन है? प्राथमिक कुंजी आईडी या RID या FooRID है?"


2

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

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

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


1

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

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


क्षमा करें, क्या आप बता सकते हैं कि इसका अर्थ क्या है domain driven design?
एन्योन डोनॉटकेयर

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