प्रोजेक्ट को हाथ से निकालने के लिए तैयार होने के दौरान किन चीजों के बारे में पता होना चाहिए?


10

मैं वर्तमान में काफी बड़े वेब एप्लिकेशन (ASP.NET MVC स्टैक, कोड की लगभग 150K + लाइनें) का एकमात्र डेवलपर / वास्तुकार हूं और विकास का अंत क्षितिज पर है। जैसे, मैं इस बारे में सोचना शुरू कर रहा हूं कि इस परियोजना से हाथ हटाने के लिए क्या करना चाहिए और मैं यह सुनिश्चित करना चाहता हूं कि मैं किसी के लिए भी सही काम करूं जिसे भविष्य में परियोजना को बनाए रखना है।

जब किसी अन्य डेवलपर या रखरखाव के डेवलपर्स की टीम को प्रोजेक्ट सौंपने के लिए तैयार होने के बारे में पता होना चाहिए तो कुछ चीजें क्या हैं?

जवाबों:


12

IMHO, यदि आप अपने प्रोजेक्ट को (सीधे या अप्रत्यक्ष रूप से) बंद करने से पहले केवल एक ही काम कर सकते हैं, तो मैं आपको सलाह दूंगा कि आप डबल और ट्रिपल चेक करें कि यह जैसा है वह स्रोत नियंत्रण से है।

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

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

उपरोक्त दोनों सुझावों में से कुछ भी ऊपर और केवल ग्रेवी होगा, लेकिन "हेलो" से बड़े किसी भी प्रोजेक्ट पर IMHO उपरोक्त दोनों की लगभग आवश्यकता है।

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

प्रलेखन के विषय पर ...

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

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


1
रीडमी फ़ाइल के लिए +1। मेरे पास वास्तव में इस परियोजना में उनमें से दो हैं, एक सामान्य "यह वही है जो मैं तब सोच रहा था जब मैंने यह अवधारणा लिखी थी" और एक और जो सिर्फ बाहरी निर्भरता और jQuery प्लग-इन के सभी को सूचीबद्ध करता है जो कि जगह में हैं लाइनों के साथ मैं उन्हें कहाँ से मिला। संकलन निश्चित रूप से कुछ ऐसा है जिसे मुझे फिर से दोबारा जांचना होगा।
rjzii

@Rob, एक VM एक अच्छा विचार है जब यह निर्धारित करने का प्रयास किया जाता है कि आपका कोड स्वच्छ वातावरण में संकलित हो सकता है या नहीं। विंडोज और विजुअल स्टूडियो की एक क्लीन इन्स्टॉल, फिर अपनी readmeफाइल में बताई गई चीजों को इंस्टॉल करके चलाएं । यदि कोड संकलित करता है और चलाता है तो आप सभी सेट हो जाते हैं।
जेसन व्हाइटहॉर्न

प्रलेखन मत भूलना!
मोशे

@ जेसन - मैं उस बहुत ही परिस्थितियों (दो विकास मशीनों, समानताएं डेस्कटॉप के साथ एक) के तहत उस थोड़ी देर के लिए वापस करने में सक्षम था, लेकिन कुछ नए पुस्तकालयों को तब से परियोजना में खींच लिया गया है।
rjzii

1
@Moshe - प्रलेखन वह हिस्सा है जिसके बारे में मैं वास्तव में सबसे अधिक चिंतित हूं। मैंने कोड को उस तरह से लिखा है जिस तरह से मैं इसे ढूंढना चाहता हूं, लेकिन मुझे यकीन नहीं है कि कोड और बुनियादी विवरण दस्तावेजों के पूरक के लिए मुझे कौन से अतिरिक्त दस्तावेज़ लिखने चाहिए।
rjzii

1

यही कारण है कि टिप्पणियाँ कोड गंध नहीं हैं। यह इसलिए भी है कि हमें अपने कोड का दस्तावेजीकरण करना चाहिए।

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

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

सौभाग्य!


1

सुनिश्चित करें कि आपका कोड केवल एक कमांड / क्लिक के साथ अंतिम रूप में संकलन और पैकेजिंग कर रहा है।

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

मैं इस एक-क्लिक संकलन के बारे में बहुत ही नट-पसंद हूं, क्योंकि मैं पहले से ही इस बात का पता लगाने में बहुत समय लगाता हूं कि वास्तव में एक परियोजना को कैसे संकलित या पैकेज किया जाए, जिसे मुझे केवल एक छोटी बग को ठीक करना था। मैंने अंतिम जिप, JAR या EAR को पैकेज करने के लिए अपनी परियोजनाओं में थोड़ा बैच / बैश स्क्रिप्ट रखना शुरू कर दिया।

इसके अलावा, मैं रूट निर्देशिका में एक README.txt जोड़ता हूं जो समग्र डिजाइन , जटिल भागों और परियोजना पर्यावरण (अन्य विभागों या व्यक्तियों के साथ संचार के संदर्भ में) का वर्णन करता है

मैं इस README.txt को छोटा रखने की कोशिश करता हूं , क्योंकि कोई भी विनिर्देश दस्तावेजों के 200+ पृष्ठों को नहीं पढ़ता है यदि आप करना चाहते हैं तो एक बग को ठीक करें, संकलन करें और इसे पैकेज करें। कार्यान्वयन विवरण को यूनिट परीक्षणों में प्रलेखित किया गया है , इसलिए इसे फिर से एक पुस्तक में लिखने की आवश्यकता नहीं है ...


0

मेरा डिफ़ॉल्ट हैंडऑफ़ चेकलिस्ट:

  1. वीसीएस से साफ कॉपी देखें
  2. टेस्ट बिल्ड, टेस्ट तैनाती
  3. रेव-बैक-अप करने के लिए मावेन रेपो का नाम बदलें
  4. टेस्ट बिल्ड फिर से
  5. ज़िप से ऐप सर्वर की नई प्रतिलिपि स्थापित करें
  6. सर्वर सेट नोट सत्यापित करें
  7. टेस्ट फिर से तैनात
  8. सत्यापित करें कि कोई इकाई परीक्षण अक्षम नहीं हैं
  9. चार पत्र शब्दों के लिए टिप्पणियों को स्कैन करें, उन्हें हटा दें

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

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