TypeScript में कोड रिव्यू: क्या जाँचें और कैसे फीडबैक दें

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: TypeScript में code review की आवश्यकता क्यों है?

Code review केवल मर्ज से पहले कोड की औपचारिक जाँच नहीं है। यह प्रोजेक्ट की गुणवत्ता बढ़ाने, टीम में ज्ञान साझा करने और शुरुआती चरणों में बग्स को रोकने का एक शक्तिशाली उपकरण है। जब TypeScript की बात आती है, तो code review विशेष महत्व रखता है: स्थैतिक टाइपिंग, जेनेरिक्स की शक्तिशाली प्रणाली और कंपाइलर की सख्त सेटिंग्स एप्लिकेशन चलाने से पहले ही कई त्रुटियों को पकड़ने में मदद करती हैं। हालाँकि, TypeScript में भी ऐसे छिपे हुए खतरे हैं जिन्हें आसानी से अनदेखा किया जा सकता है।

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



1. टाइपिंग और जेनेरिक्स: any को सब कुछ खराब न करने दें

TypeScript का एक मुख्य उद्देश्य टाइप्स को स्पष्ट बनाना है। अगर कोड में any दिखाई देता है, तो यह लगभग हमेशा एक लाल झंडा है। Code review में जाँचें:

  • any की अनुपस्थिति। इसे बाद में टाइप जाँच के साथ unknown या किसी विशिष्ट टाइप से बदलें।
  • जेनेरिक्स की सटीकता। सुनिश्चित करें कि टाइप पैरामीटर खो नहीं रहे हैं या बहुत व्यापक नहीं हो रहे हैं। उदाहरण:
// बुरा: टाइप खो रहा हैfunction getFirst(arr: any[]): any {    return arr[0];}

// अच्छा: जेनेरिक के माध्यम से टाइप बनाए रखनाfunction getFirst<T>(arr: T[]): T | undefined { return arr[0];}
  • API प्रतिक्रियाओं की टाइपिंग। यदि सर्वर से JSON आता है, तो उसे इंटरफ़ेस द्वारा वर्णित किया जाना चाहिए, न कि any द्वारा।
  • Utility types. ऑब्जेक्ट्स के साथ लचीले काम के लिए Partial, Pick, Omit का उपयोग करें — इससे कोड डुप्लिकेशन कम होता है।

सुझाव: tsconfig.json में strict: true और noImplicitAny: true फ्लैग शामिल करें — यह कंपाइलेशन स्तर पर अधिकांश समस्याओं को दूर कर देगा।



2. तर्क और त्रुटि प्रबंधन: समस्याओं के बारे में चुप न रहें

TypeScript तार्किक त्रुटियों से रक्षा नहीं करता है, इसलिए code review को व्यावसायिक तर्क और अपवाद प्रबंधन की जाँच करनी चाहिए।

क्या देखें:

  • सीमांत मामलों का प्रबंधन। क्या होगा यदि सरणी खाली है, ऑब्जेक्ट null है या स्ट्रिंग खाली है? उदाहरण:
// बुरा: तत्व की उपस्थिति की जाँच नहीं कर रहाfunction getUserName(users: User[], id: string): string {    return users.find(u => u.id === id)!.name; // त्रुटि के साथ क्रैश हो सकता है}

// अच्छा: जाँच कर रहा हैfunction getUserName(users: User[], id: string): string | null { const user = users.find(u => u.id === id); return user ? user.name : null;}
  • एसिंक्रोनस ऑपरेशन। सुनिश्चित करें कि प्रॉमिस को async/await के माध्यम से सही ढंग से संभाला गया है, और त्रुटियाँ try/catch में पकड़ी गई हैं।
  • म्यूटेशन से बचना। यदि फ़ंक्शन को इनपुट डेटा नहीं बदलना चाहिए, तो readonly और इम्यूटेबल विधियों का उपयोग करें (उदाहरण के लिए, बाहरी सरणी को बदलने के लिए forEach के बजाय map)।


3. कोड शैली और पठनीयता: कोड लोगों के लिए लिखा जाता है

पूरी तरह से टाइप किया गया कोड भी अपठनीय हो सकता है। Code review शैली पर चर्चा करने का एक शानदार अवसर है।

मुख्य बिंदु:

  • नामकरण। वेरिएबल्स, फ़ंक्शन और क्लासेस को अपने उद्देश्य के बारे में बताना चाहिए। एक-अक्षर वाले नामों से बचें (लूप इंडेक्स को छोड़कर)। उदाहरण: fetchUserData, getData से बेहतर है।
  • फ़ंक्शन का आकार। फ़ंक्शन को एक से अधिक काम नहीं करना चाहिए। यदि यह 20-30 पंक्तियों से लंबा है, तो रिफैक्टरिंग के बारे में सोचने का कारण है।
  • टिप्पणियाँ। टिप्पणियों को यह समझाना चाहिए कि कोड क्यों इस तरह लिखा गया है, न कि यह क्या करता है। यदि टिप्पणी कोड की नकल करती है, तो उसे हटा दें।
  • फ़ॉर्मेटिंग।

ब्लॉग

पुस्तक अनुशंसाएँ