अपने आप को वास्तव में प्रेरित करने के बाद कि आपने कुछ डिज़ाइन किया है कोड को लिखना [बंद]


27

क्या यह केवल मेरे लिए ही होता है या यह आपसे भी परिचित है?

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

तो आप सोचने लगते हैं कि आप इसे कैसे करने जा रहे हैं। आप कुछ रेखाचित्र खींचते हैं। आप अपने विचारों का परीक्षण करने के लिए कुछ प्रोटोटाइप लिखते हैं। पूरा देखने के लिए आप अलग-अलग टुकड़े डाल रहे हैं।

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

लेकिन अब, सब कुछ व्यवस्थित होने के बाद, आपको बैठना होगा और वास्तव में इसके लिए कोड लिखना होगा। और अब चुनौती नहीं दे रहा है .... वहाँ गया है, कि किया! कोड लिखना अब सिर्फ "औपचारिकता" है और यह आपको फिर से पुनरावृति जैसा दिखता है।

अपनी पिछली नौकरी में मैं कभी-कभी इससे दूर हो जाता था क्योंकि किसी और ने मेरी विशिष्टताओं के आधार पर कोडिंग की थी, लेकिन मेरे नए टमटम में मैं पूरी प्रक्रिया का प्रभारी हूं इसलिए मुझे भी ऐसा करना होगा (क्योंकि मुझे ऐसा करने के लिए भुगतान करना पड़ता है यह)।

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

मैं बस अगली चुनौतीपूर्ण चीज की ओर बढ़ना चाहता हूं, और फिर अगले और अगले ...

क्या आपके साथ भी ऐसा होता है? आप इसके साथ कैसे लेन - देन करते हैं?

आप खुद को अंदर जाने और फ्रिकिंग कोड लिखने के लिए कैसे मना करते हैं?

मैं कोई जवाब दूंगा।


आपके प्रोजेक्ट के आकार पर आपका क्या अनुमान है? तुम्हारा लक्ष्य क्या है? यदि यह सफल हो जाता है तो परियोजना से किसे लाभ होगा? किस तरह के लाभ?
२०

2
@rwong: मेरा प्राथमिक लक्ष्य मेरे ज्ञान का विस्तार करना है। मैं अपने व्यक्तिगत प्रोजेक्ट पर आत्म-सुधार के उद्देश्य से विभिन्न विचारों, तकनीकों, कामों आदि के साथ प्रयोग करता हूं। लेकिन मैं वास्तविक उपयोग के मामले के परिदृश्य के साथ कुछ का निर्माण करना चाहता था, न कि केवल असंबंधित प्रोटोटाइप का एक मैनज।

1
यदि आप केवल डिज़ाइन करते हैं और कभी भी कोड नहीं करते हैं, तो आप यह भी कैसे जानते हैं कि क्या आप काम करने जा रहे हैं? कोड या तो "डिज़ाइन" की व्यवहार्यता को मान्य या बाधित करता है। अलग तरह से कहा जाता है, अस्पष्ट हाथ से लहराते हुए "डिजाइन" करना आसान है, लेकिन वास्तव में कार्यान्वयन आमतौर पर काम की एक बड़ी मात्रा है। यह कभी-कभी निराशाजनक होता है, कभी-कभी थकाऊ, लेकिन अंततः, मेरे लिए कम से कम, पूरा करना।
केविन

मैंने 3 साल पहले इसका उत्तर दिया था, लेकिन जैसा कि मैं आपके प्रश्न को फिर से पढ़ रहा हूं, मैं सोच रहा हूं कि क्या यह एडीएचडी का संकेत नहीं है (जो कि मेरे पास है)। मैं आपके प्रश्न का वर्णन करने के साथ संघर्ष भी करता हूं, और हालांकि मैंने जो उत्तर दिया वह मुझे थोड़ा मदद करता है, यह अभी भी बहुत कठिन है। रसेल बार्कले बताते हैं कि क्यों बहुत अच्छी तरह से: youtu.be/LyDliT0GZpE
मार्क फ्रीडमैन

जवाबों:


6

यदि आपके लिए चुनौती डिजाइनिंग और कार्यान्वयन में नहीं है, तो शायद आपको एक अलग प्रेरक कारक की आवश्यकता है:

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

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

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

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


6

आपको घर पर तेजी से प्रोटोटाइप की आवश्यकता है।

जब आप निजी निजी परियोजना पर समान स्तर पर पेशेवर कठोरता लागू करते हैं, तो यह आसानी से ओवर-इंजीनियरिंग में परिणाम देता है।

व्यक्तिगत परियोजना के लिए एक उच्च मानक स्थापित करना पूरी तरह से स्वीकार्य है, लेकिन आपको यह समझना चाहिए कि परियोजना पर प्रगति करने के लिए आपके पास पर्याप्त संसाधन (दैनिक कार्य के 8 घंटे के अलावा, कोडिंग घंटे) नहीं हो सकते हैं।

आपके पालतू प्रोजेक्ट में सबसे आवश्यक लक्ष्य क्या है? अपने अंतर्दृष्टि में से एक की उपयोगिता साबित करने के लिए? यदि यह मामला है, तो प्रोजेक्ट को तब तक ट्रिम करें जब तक कि यह एक प्रूफ-ऑफ-कॉन्सेप्ट प्रोजेक्ट नहीं बन जाता । फिर, रैपिड प्रोटोटाइप का उपयोग करें ताकि आप कम कोडिंग समय के साथ अधिक पूरा कर सकें।


5

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


5
यह इतना उच्च मतदान क्यों किया गया है, यह वास्तव में मुख्य सवाल का जवाब नहीं देता है "आप अपने आप को कैसे समझाते हैं और फ्रिकिंग कोड लिखते हैं?"।
dan_waterworth

1
@dan_waterworth: मुझे लगता है कि क्योंकि बहुत से लोग उत्तर से संबंधित हो सकते हैं। जब मैं एक जूनियर था तो मैंने भी यही किया था, बिना किसी प्लानिंग के आगे बढ़ कर सबसे पहले सिर कूदना। मैंने तब से सीखा (कठिन तरीका) जो टाइपिंग स्टेज पर जाने से पहले वास्तव में बैठ जाना और सोचना बेहतर है।

2

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

मैं भी आपके साथ हूँ, यह घर पर कार्यालय की तुलना में अधिक है। मुझे नहीं पता कि इसकी अधिक गड़बड़ी, काम से जलाया जा रहा है या क्या ...


2

मैं निश्चित रूप से आपकी हताशा को समझता हूं, क्योंकि मैं इसके माध्यम से पहले भी स्वयं कर चुका हूं।

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

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

आदर्श रूप से आप एक दिन के लिए अपनी साइड परियोजना के लिए जो भी समय आवंटित करते हैं उसमें प्रत्येक टुकड़ा को पूरा करने में सक्षम होंगे लेकिन इसकी आवश्यकता नहीं है (व्यक्ति पर निर्भर करता है)।

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

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

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

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

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

अंत में, जब आप सभी पैकेज से बाहर हो जाते हैं, तो मैं आमतौर पर इसे कुछ दिनों के लिए जाने देता हूं, अपने आप को आराम देता हूं और किसी और चीज पर ध्यान केंद्रित करता हूं।

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

आशा है कि यह आपको अपने प्रयासों में मदद करेगा।


2

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

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

शिपिंग एक विशेषता है। यदि आप पूरी दूरी पर नहीं जाते हैं, तो आप सिर्फ एक वास्तुकार हैं।


1
+1 कुल मिलाकर अच्छा है, एक चिंता का विषय है कि वास्तुकारों का अपना स्थान है, "बस एक वास्तुशास्त्री" थोड़ा अशिष्ट लगता है, अनजाने में।
23

@ ऑर्ब्लिंग: थोरबजोरन वास्तुकला के अंतरिक्ष यात्री से ( पूरी तरह से अधिक विध्वंस) से बच रहे थे ।
रवांग

@ ठीक है, अच्छी तरह से हो सकता है। आप इस तथ्य को कैसे उद्धृत करेंगे कि आप खुद को वह नहीं कर सकते जो आप दूसरों को करने के लिए कहते हैं?

1

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

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


1

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

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

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

उम्मीद है की यह मदद करेगा।


1

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

एक चाल: एक साक्षर कार्यक्रम के रूप में डिजाइन की अपनी व्याख्या लिखें ! :) फिर आप अपने आप को दिलचस्प भाग (आपके डिजाइन विचारों) के साथ कब्जा कर लेते हैं, लेकिन वास्तव में उन्हें वास्तविक कोड के साथ सही ठहराते हैं जो आप के साथ आपूर्ति करते हैं।

और साक्षर कार्यक्रम को अपने नए विचारों की एक प्रस्तुति के रूप में दूसरों को पोस्ट करें!


1

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

आमतौर पर इस समय के आसपास, मैं भूल गया हूं कि मुझे शुरू करने में परेशानी थी, और मैं इस क्षेत्र में हूं।

लगभग 80% समय काम करता है। बाकी के लिए, टेट्रिस है।


0

यह निश्चित रूप से सिर्फ आप नहीं है! मैं वास्तव में अभी एक प्रोजेक्ट लगा रहा हूं।

कोई भी आपको प्रेरित नहीं कर सकता लेकिन खुद को।

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


0

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

प्रोग्रामिंग में एक महत्वपूर्ण कार्य बोरिंग सामान को फिर से नहीं कर रहा है , लेकिन इसे एक बार करना, इसे ठीक से करना और फिर इसका उपयोग करना है। या इससे भी बेहतर: किसी ऐसे व्यक्ति को ढूंढना जिसने पहले से ही एक बार और ठीक से किया हो।


0

मैं पूरी तरह से समझता हूं कि आप कहां से आ रहे हैं। यह वह समस्या है जो आपको रुचती है, और एक बार जब आप इसका पता लगा लेते हैं, तो कार्यान्वयन का सिर्फ काम होता है।

आप सिर्फ समाधान का वास्तु क्यों नहीं बनाते हैं, और दूसरों ने भी लागू किया है?


-1

जो मैं करता हूं:

  • मेरे सामने एक बड़ा टाइमर रखो (1 घंटे के समय में, रिवर्स मोड में हो सकता है)
  • मुझे कुछ लक्ष्य तक पहुंचने के लिए रहने के लिए मजबूर करें (कभी-कभी बीयर के साथ, मैंने पाया है कि थोड़ी शराब मदद करती है)

हमेशा काम नहीं, यद्यपि

पुनश्च। मैं घर से काम करता हूं

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