वन-मैन प्रोजेक्ट कैसे व्यवस्थित करें? [बन्द है]


21

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

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


अगर यह मायने रखता है, तो मैं वेब या मैक विकास करना चाहता हूं।


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

1
@ थोमस अच्छी तरह से मुख्य कारण है कि मैं अधूरी परियोजनाओं को हटा देता हूं, क्योंकि वे मेरे प्रोग्रामिंग फ़ोल्डर को गन्दा दिखते हैं (अर्थात ऐसी फाइलें हैं जिनका मैं फिर कभी उपयोग नहीं करूंगा)। मुझे प्रौद्योगिकियों में बहुत दिलचस्पी है, मुझे लगता है कि यह सिर्फ प्रेरणा की कमी है।
राइटफॉल्ड

जवाबों:


18

मुझे लगता है कि वास्तविक समस्या, दीर्घकालिक, संगठन के बजाय प्रेरणा है।

  1. उपयोगकर्ताओं को ढूंढें और उनसे बात करें। उन लोगों को अपनी परियोजना को एक प्रकार के उपहार (या बेचने योग्य उत्पाद) के रूप में देखें। (किसी को विचारों को उछालना बहुत अच्छा लगता है, भले ही वे वास्तव में आपके साथ कोड विकसित न करें।)

    उस समय तक सामाजिक प्रेरणा परियोजना को दिलचस्प बनाए रखने के लिए केवल व्यक्तिगत जिज्ञासा की तुलना में अधिक रोचक होने वाली है।

  2. आपका लक्ष्य उपयोगी कार्यक्षमता के छोटे काटने के आकार का होना चाहिए। इसे SourceForge या GitHub पर रखें, और प्रोजेक्ट को ऐसी चीज़ के रूप में समझें, जिसमें जीवित रहने के अवसर की आवश्यकता हो, भले ही आप अचानक उल्का से टकरा जाएँ।

    इससे और अधिक रिलीज़ होती हैं (मतलब उपयोगकर्ताओं से अधिक प्रतिक्रिया और उत्साह) और यह भी अधिक संभावना है कि कोई अन्य व्यक्ति परियोजना में योगदान करने का निर्णय ले सकता है।

  3. अपने लिए एक विशिष्ट सीखने का लक्ष्य चुनें। क्या तकनीक या तकनीक आपको सीखने में मदद करती है? यदि यह पता चलता है कि तकनीक समस्या-क्षेत्र के लिए उपयुक्त नहीं है, तो क्या आप इसे अलग रखने से पहले कम से कम 1.0 संस्करण समाप्त करने के लिए पर्याप्त रुचि लेंगे?

    इस तरह के लक्ष्यों के उदाहरणों में लेखन पार्सर, नेटवर्क प्रोटोकॉल, गेम एआई के पहलू, सीखने की रूपरेखा या टूलकिट, एक नई भाषा आदि शामिल हैं।

सबसे खराब स्थिति का मतलब है कि तीनों गायब हैं, जहां आप बार-बार जारी किए गए टूल के "बड़े पैमाने पर फिर से लिखना" करते हैं जिसमें कोड शामिल होता है जो आपको उन लोगों के लिए दिलचस्प नहीं लगता जिनके बारे में आप निश्चित नहीं हैं।


2
+1 के लिए "यदि आप अचानक उल्का से टकरा जाते हैं।" नहीं, गंभीरता से, शिथिलता के खिलाफ उत्कृष्ट सुझाव।
Randolf Rincón Fadul

अनुभव के लाभ के बाद जोड़ने वाली एक बात: यदि आप मदद चाहते हैं, तो आपको अपने ओपन-सोर्स प्रोजेक्ट को बढ़ावा देने की आवश्यकता होगी, यदि आप एकमात्र डेवलपर नहीं रहना चाहते हैं। "यदि आप इसे बनाते हैं, तो वे आएंगे" बहुत अविश्वसनीय है।
दरियाई

2

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

हमारी परियोजना शुरू करने से पहले, इसकी योजना बनाएं। यह क्या करेगा? यह करना कितना कठिन होगा? ज्ञात और अज्ञात क्या हैं? क्या गलत होने की संभावना है? कितनी देर लगेगी? [अब आप तय कर सकते हैं कि आगे जाना है या अब रुकना है।] अपनी योजना को बनाए रखें। [यदि आप एक परियोजना पर काम कर रहे हैं, तो नई परियोजना को अलग रखें और दूसरी मूल परियोजना के साथ आगे बढ़ें।]

जब आप अपना प्रोजेक्ट शुरू करते हैं तो इसे अपने IDE में एक अलग प्रोजेक्ट के रूप में सेट करते हैं। (इसलिए आपको अपनी अगली परियोजना शुरू करने के लिए इसे हटाने की आवश्यकता नहीं है।) इसे एक नए प्रोजेक्ट के रूप में कुछ संस्करण नियंत्रण सॉफ़्टवेयर में जांचें। (अब आप इसे हटा सकते हैं यदि आप इसे किसी अन्य परियोजना के रास्ते में पा रहे हैं।) जब भी आप इसे सही ढंग से कुछ कर रहे हों तो अपनी परियोजना में जांचें। (अब आप पटरी से उतर गए तो वापस जा सकते हैं।)

अपने प्रोजेक्ट पर आने वाले मुद्दों पर नज़र रखें। यह परियोजना के साथ कुछ पाठ फ़ाइलों के साथ किया जा सकता है। TODO, Changelog, README (ज्ञात बग और मुद्दों को शामिल कर सकते हैं) जैसी फाइलें उपयुक्त हो सकती हैं।

जब आप अपने कोड को अपने वर्जन कंट्रोल में टैग करते हैं। अगर इसके लायक साझा करना है।

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

जब आप किसी प्रोजेक्ट को छोड़ देते हैं, तो सबक सीखी हुई प्रक्रिया करें। आपने इस परियोजना को क्यों छोड़ दिया, इस बारे में एक नोट जोड़ें।

महीने में एक बार सीखे गए अपने पाठों की समीक्षा करें। जैसे-जैसे समय बढ़ता है आप समीक्षाओं के बीच अंतराल बढ़ा सकते हैं।


2

यहाँ " एक टीम में चुस्त फुर्तीली " की एक कड़ी है । यह एक दिलचस्प पढ़ा है!

इसके अलावा, आप इस बात पर विचार करना चाह सकते हैं कि सॉफ्टवेयर देव के विषय "हम काम पर" क्यों महत्वपूर्ण हैं। क्या वे केवल महत्वपूर्ण हैं अगर टीम में 10 लोग हैं? नहीं, वे महत्वपूर्ण हैं क्योंकि वे आपकी परियोजना के बारे में सोचने में आपकी मदद करते हैं।

आपके टारगेट ऑडिएन्स कौन हैं? (यदि यह आप है, तो महान है - लेकिन याद रखें कि आप मूल रूप से किसके लिए ऐप चाहते थे)

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

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


1

आपकी टिप्पणी को देखते हुए, अपनी परियोजनाओं को हटाना बंद करें!

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

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

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


1

सबसे पहले, परियोजनाएं और परियोजनाएं हैं। यदि आप कुछ प्रौद्योगिकी या पुस्तकालय, या sth बाहर की कोशिश करते हैं, तो आप शायद अपने आईडीई में एक परियोजना बनाते हैं, यह पता करें कि क्या यह बात आपके लिए दिलचस्प है या नहीं और फिर अपनी परियोजना को हटा दें। यह ठीक है, हर कोई ऐसा करता है।

एक अन्य प्रकार की परियोजना वास्तविक सॉफ्टवेयर / साइटें / आदि हैं, जो व्यवसाय है, जहां उन 'परियोजनाओं', फाइलें, कार्यक्रम सिर्फ उपकरण हैं, और ऐसी जटिल चीजों को विकसित करने के लिए प्रेरणा और लक्ष्यों की आवश्यकता होती है :

  • आप क्या विकसित करते हैं (वेब ​​साइट / पाठ संपादक / मोबाइल ऐप / ...)
  • आपको इसके लिए क्या आवश्यकता है (पैसा कमाने के लिए, कुछ नई तकनीक चुनें / स्रोत खोलने के लिए योगदान करें / ...)
  • आप कब करेंगे (आपने अपनी परियोजना को कितना समय दिया है, आप कब तक ऐसा करने की योजना बना रहे हैं)

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

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

यदि आप कोड लिखने में फंस गए हैं (जैसे, बड़े पैमाने पर अपने कोड को फिर से लिखना) तो आप शायद ऐसा करने के लिए पर्याप्त अनुभव नहीं कर रहे हैं। सॉफ़्टवेयर इंजीनियरिंग, अपने प्लेटफ़ॉर्म (मैक / वेब / आदि) पर एक अच्छी किताब लें, अधिक अनुभवी डेवलपर्स द्वारा लिखित कोड पढ़ें जो समान चीजें करता है। ऐसा करने के लिए बहुत सारी जगहें हैं (github, google code, programming blogs, stackoverflow)।

एक बहुत ही जटिल समस्या को हल करने की कोशिश न करें (उदाहरण के लिए लेखक एक संकलक या एक ऑपरेटिंग सिस्टम), पहले इसे छोटे कार्यों के लिए विघटित करें, ज्यादातर अक्सर, किसी ने पहले से ही पुस्तकालय बनाए हैं जो आपकी समस्या को हल करने में आपकी सहायता करते हैं।


0

क्या आपने किसी प्रियजन से यह पूछने पर विचार किया है कि उन्हें वेबटूल के लिए वास्तव में क्या चाहिए, और फिर वास्तव में उसे या उसके लिए इसे बनाना चाहिए?

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

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