एक आदर्श दुनिया में, किसी दिए गए डेवलपर द्वारा लिखे गए सभी कोड को अच्छी तरह से प्रलेखित, अच्छी तरह से संरचित और समझने योग्य परीक्षण किया जाएगा, दोनों स्वचालित उपकरण जैसे कि यूनिट परीक्षण और केस स्क्रिप्ट का उपयोग करते हैं जो एक उपयोगकर्ता द्वारा जांचता है कि आप अपेक्षित परिणाम प्राप्त करते हैं।
हालाँकि, पहली चीज़ जो आप सीखेंगे वह यह है कि हम एक आदर्श दुनिया में नहीं रहते हैं!
बहुत सारे डेवलपर्स अपने कोड को सही तरीके से दस्तावेज नहीं करते हैं, यदि सभी में, वे व्यापार तर्क को असंबंधित कोड के साथ मिलाते हैं, और एकमात्र परीक्षण वे करते हैं जो सामान्य उपयोग के मामले में होने की उम्मीद के माध्यम से एक त्वरित रन है।
इस तरह कोड के साथ काम करते समय, पहली चीज जो आपको करनी है वह यह है कि यह क्या करना है। यदि कोई टिप्पणी है तो वे आपको सुराग दे सकते हैं, लेकिन इस पर भरोसा नहीं करते। यह मेरा अनुभव है कि कई कोडर खुद को समझाने में अच्छे नहीं हैं और भले ही वे टिप्पणी छोड़ दें वे अर्थहीन हो सकते हैं। हालाँकि, जब तक आप कंपनी के एकमात्र कोडर नहीं होते हैं, किसी को निश्चित रूप से कम से कम एक मूल विचार होना चाहिए कि कोड क्या है और इसके लिए क्या करना है। चारों ओर से पूछो!
यदि आपके पास इकाई परीक्षण हैं, तो वे आपके जीवन को बहुत आसान बना देंगे। यदि आप नहीं करते हैं, तो कोडबेस सीखने के हिस्से में कोड के लिए इकाई परीक्षण लिखना शामिल हो सकता है जो पहले से मौजूद है। आम तौर पर इसे अच्छा अभ्यास नहीं माना जाता है क्योंकि यदि आप मौजूदा कोड को फिट करने के लिए इकाई परीक्षण लिखते हैं, तो आप इकाई परीक्षणों के साथ समाप्त होंगे जो सोचते हैं कि कोड काम करता है (वे उस व्यवहार को मानने के लिए लिखे जाएंगे जो वास्तव में एक बग है। सही), लेकिन कम से कम यह आपको एक आधार रेखा देता है। यदि आपको बाद में पता चलता है कि आपके द्वारा सोचा गया कुछ व्यवहार वास्तव में गलत था, तो आप इस बात के परीक्षण के लिए यूनिट टेस्ट को बदल सकते हैं कि अपेक्षित परिणाम के बजाय कोड क्या देता है। एक बार जब आपके पास एक इकाई परीक्षण होता है, तो आप परिवर्तन कर सकते हैं और यह आकलन कर सकते हैं कि आपके द्वारा किए गए किसी भी परिवर्तन के क्या दुष्प्रभाव हैं।
अंत में, एक अनजाने कोड के साथ काम करते समय आपके पास सबसे अच्छा संसाधन अंत उपयोगकर्ताओं से पूछना है। उन्हें कोड के बारे में कुछ नहीं पता होगा, लेकिन वे जानते हैं कि वे क्या करना चाहते हैं। आवश्यकताओं को इकट्ठा करना किसी भी परियोजना में पहला चरण है, और विकसित किए जाने वाले सिस्टम के भावी उपयोगकर्ताओं के साथ बात करना हमेशा इसका एक महत्वपूर्ण हिस्सा होता है। बस एक नई परियोजना है कि बस पहले से ही बनाया गया है होता है के लिए आवश्यकताओं पर कब्जा मंच के रूप में यह सोचने के लिए।
इस बात को ध्यान में रखें कि किसी बाहरी व्यक्ति के लिए अच्छी तरह से लिखित और अच्छी तरह से प्रलेखित कोड को समझना मुश्किल हो सकता है। कोड अनिवार्य रूप से एक अभिव्यक्ति है कि जिस व्यक्ति ने इसे लिखा था वह उस समय कैसे सोच रहा था, और सभी की अपनी अनूठी विचार प्रक्रिया है। आपको थोड़ा धैर्य रखना और एक जासूस बनना सीखना होगा। किसी अन्य व्यक्ति की विचार प्रक्रिया में सक्षम होना मुश्किल है, लेकिन मौजूदा कोड पर रखरखाव करने वाले प्रोग्रामर के लिए यह एक आवश्यक कौशल है। जैसा कि अधिकांश कोडिंग (लगभग 70%) मौजूदा कोड को बनाए रखने से संबंधित है, यह सीखने के लिए एक महत्वपूर्ण कौशल है।
ओह, और अब जब आप उस दर्द को देख चुके हैं जो खराब-दस्तावेज, अनटाइटेड और जंबल्ड कोड का कारण बन सकता है, तो आप इसे अगले गरीब डेवलपर के साथ आने के लिए नहीं करेंगे, है ना? :) अपने पूर्ववर्ती की गलतियों से सीखें, अपने कोड को अच्छी तरह से टिप्पणी करें, सुनिश्चित करें कि हर मॉड्यूल की स्पष्ट रूप से परिभाषित जिम्मेदारी है जो वह चिपक जाती है, और सुनिश्चित करें कि आपके पास इकाई परीक्षणों का एक व्यापक सेट है जो आप या तो पहले लिखते हैं (टीडीडी के तरीके के लिए) या कम से कम कोड के साथ विकसित किया जा रहा है।