पेशेवर सॉफ्टवेयर डेवलपर्स का छिपा हुआ वर्कफ़्लो
अधिकांश लोग सोचते हैं कि सॉफ्टवेयर डेवलपमेंट का मतलब सिर्फ कोड टाइप करना है। वे कल्पना करते हैं कि कोई एक अंधेरी स्क्रीन पर तेज़ी से टाइप कर रहा है। यह काम का केवल 20% है।
बाकी 80% अदृश्य है। यह एक भी लाइन लिखने से पहले होता है। यही काम प्रोफेशनल्स को उन लोगों से अलग करता है जो सारा दिन अपनी गलतियों को सुधारने में बिता देते हैं।
सीनियर डेवलपर्स अपना 20% से 40% समय प्लानिंग में बिताते हैं। यह टालमटोल नहीं है। यह रिस्क मैनेजमेंट है। एक बार लाइव होने के बाद कोड में बदलाव करना महंगा पड़ता है।
एक ठोस प्लानिंग चरण ऐसा दिखता है:
• समस्या को अपने शब्दों में फिर से कहें। यदि आप इसे सरलता से नहीं समझा सकते, तो इसका मतलब है कि आप इसे अभी तक समझे नहीं हैं। • बाधाओं (constraints) की पहचान करें। स्पीड, डेडलाइन और मौजूदा सिस्टम के बारे में सोचें। • समाधान का खाका तैयार करें। डेटा कैसे फ्लो करता है, यह देखने के लिए बुलेट पॉइंट्स या सरल डायग्राम का उपयोग करें। • अनिश्चितताओं (unknowns) की सूची बनाएं। शुरू करने से पहले पता करें कि आपको किस चीज़ पर रिसर्च करने की ज़रूरत है।
प्रोफेशनल डेवलपर्स डॉक्यूमेंटेशन पढ़ने में भी काफी समय बिताते हैं। वे केवल फ़ोरम पर उत्तरों को सरसरी तौर पर नहीं देखते। वे आधिकारिक API रेफरेंस और सोर्स कोड पढ़ते हैं। इससे उन्हें पुराने, खराब तरीकों से बचने और उन edge cases को खोजने में मदद मिलती है जो प्रोडक्शन में बग्स का कारण बनते हैं।
किसी बड़े काम को शुरू करने से पहले, इन आदतों को अपनाएं:
• मौजूदा समाधानों का सर्वेक्षण करें। जो पहले से मौजूद है, उसे दोबारा न बनाएं। • ट्रेड-ऑफ (trade-offs) का मूल्यांकन करें। तय करें कि कौन सा टूल आपकी विशिष्ट आवश्यकताओं के लिए सही है। • जोखिम भरे हिस्सों का प्रोटोटाइप बनाएं। यह देखने के लिए कि कोई विचार काम करता है या नहीं, एक छोटा टेस्ट स्क्रिप्ट लिखें। • टीम के साथियों से पूछें। पाँच मिनट की बातचीत घंटों के काम को बचा सकती है।
जब आप अंततः कोड लिखते हैं, तो अपने दर्शकों (audience) को याद रखें। आपका दर्शक वह अगला व्यक्ति है जो आपके काम को पढ़ेगा। यह व्यक्ति छह महीने बाद आप स्वयं भी हो सकते हैं।
ऐसा कोड लिखें जो साफ-सुथरा (clean) रहे:
• सटीक नामों का उपयोग करें। "data" जैसे सामान्य नामों से बचें। इसके बजाय "pendingInvoices" का उपयोग करें। • फंक्शन्स को छोटा रखें। एक फंक्शन को एक काम अच्छी तरह से करना चाहिए। • ऐसे कमेंट्स लिखें जो "क्यों" समझाएं, न कि "क्या"। कोड दिखाता है कि वह क्या कर रहा है। कमेंट्स को उसके पीछे के तर्क (reasoning) को समझाना चाहिए। • टीम के पैटर्न का पालन करें। व्यक्तिगत पसंद से अधिक निरंतरता (consistency) महत्वपूर्ण है।
कोड रिव्यू भी महत्वपूर्ण हैं। वे केवल एक औपचारिकता नहीं हैं। वे ज्ञान साझा करने और जोखिमों को पकड़ने का एक तरीका हैं। एक अच्छा रिव्यू केवल सिंटैक्स के बजाय इरादे (intent) और लॉजिक पर ध्यान केंद्रित करता है।
असली इंजीनियरिंग सोचने, पढ़ने और रिसर्च करने में होती है। टाइपिंग तो बस अंतिम चरण है।
स्रोत: https://dev.to/lui_were/the-hidden-workflow-of-professional-software-developers-1d74