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

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

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

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

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

\n

Code review (कोड रिव्यू) सिर्फ एक औपचारिकता नहीं है, बल्कि कोड की गुणवत्ता में सुधार और टीम के पेशेवर स्तर को बढ़ाने के सबसे प्रभावी तरीकों में से एक है। शुरुआती Java डेवलपर्स के लिए, रिव्यू में भाग लेना डरावना लग सकता है: "कहीं मैं कोई बग तो नहीं छोड़ दूंगा?", "मैं सहकर्मी को कैसे बताऊं कि उसका कोड आदर्श नहीं है?"। इस लेख में, हम जानेंगे कि Java कोड की जाँच करते समय किन बातों पर ध्यान देना चाहिए, और फीडबैक कैसे दें ताकि वह उपयोगी हो, न कि आपत्तिजनक।

\n\n

1. Java कोड में क्या जाँचें: सिंटैक्स से लेकर आर्किटेक्चर तक

\n

Code review केवल टाइपो की खोज तक सीमित नहीं है। एक अच्छा रिव्यूअर कोड को व्यवस्थित रूप से देखता है। Java प्रोजेक्ट्स के लिए जाँच की मुख्य श्रेणियाँ इस प्रकार हैं:

\n\n

1.1. शुद्धता और तर्क

\n

पहला और मुख्य प्रश्न: "क्या कोड दिए गए कार्य को हल करता है?"। जाँचें:

\n
    \n
  • सीमांत मामले (null, खाली कलेक्शन, नकारात्मक मान)।
  • \n
  • सशर्त ऑपरेटरों और लूप का तर्क।
  • \n
  • एक्सेप्शन के साथ सही काम (सार्वभौमिक समाधान के रूप में Exception का उपयोग न करें)।
  • \n
\n

खराब कोड का उदाहरण:

\n
public int divide(int a, int b) {\n    return a / b; // संभावित शून्य से भाग\n}
\n

क्या सुझाव दें:

\n
public int divide(int a, int b) {\n    if (b == 0) {\n        throw new IllegalArgumentException("भाजक शून्य नहीं हो सकता");\n    }\n    return a / b;\n}
\n\n

1.2. पठनीयता और शैली

\n

Java एक स्थापित परंपराओं वाली भाषा है (Java Code Conventions, Google Java Style)। इन पर ध्यान दें:

\n
    \n
  • वेरिएबल, मेथड और क्लास के नाम (सार्थक होने चाहिए)।
  • \n
  • फ़ॉर्मेटिंग (इंडेंटेशन, स्पेस, लाइन की लंबाई)।
  • \n
  • मैजिक नंबरों की उपस्थिति (उन्हें कॉन्स्टेंट में डालें)।
  • \n
\n

उदाहरण:

\n
// खराब\ndouble x = 3.14159 * r * r;\n\n// अच्छा\nprivate static final double PI = 3.14159;\ndouble area = PI * radius * radius;
\n\n

1.3. प्रदर्शन और अनुकूलन

\n

Java के लिए विशेष रूप से महत्वपूर्ण हैं:

\n
    \n
  • लूप में अनावश्यक ऑब्जेक्ट निर्माण से बचें।
  • \n
  • लूप में स्ट्रिंग संयोजन के लिए StringBuilder का उपयोग करें।
  • \n
  • एल्गोरिदम की जटिलता की जाँच करें (O(n), O(n log n))।
  • \n
\n

उदाहरण:

\n
// खराब (बहुत सारे String ऑब्जेक्ट बनते हैं)\nString result = "";\nfor (int i = 0; i < 1000; i++) {\n    result += i;\n}\n\n// अच्छा\nStringBuilder sb = new StringBuilder();\nfor (int i = 0; i < 1000; i++) {\n    sb.append(i);\n}\nString result = sb.toString();
\n\n

1.4. परीक्षण क्षमता और परीक्षण

\n

जाँचें कि क्या नया कोड यूनिट टेस्ट से कवर है। इन पर ध्यान दें:

\n
    \n
  • सीमांत मामलों के लिए परीक्षणों की उपस्थिति।
  • \n
  • यूनिट टेस्ट में बाहरी सिस्टम (DB, API) पर निर्भरता का अभाव।
  • \n
  • परीक्षणों की स्वयं पठनीयता (स्पष्ट संदेशों के साथ assert मेथड)।
  • \n
\n\n

2. फीडबैक कैसे दें: रचनात्मक और विषाक्तता रहित

\n

सबसे सही कोड-रिव्यू भी विफल हो सकता है यदि फीडबैक आक्रामक या अस्पष्ट हो। शुरुआती लोगों के लिए कुछ नियम:

\n\n

2.1. "सैंडविच" नियम

\n

सकारात्मकता से शुरू करें, फिर कमियों को इंगित करें, और प्रोत्साहन के साथ समाप्त करें। उदाहरण के लिए:

\n
    \n
  • सकारात्मक: "वैलिडेशन को एक अलग मेथड में निकालने का शानदार विचार!"
  • \n
  • टिप्पणी: "लेकिन यहाँ NullPointerException से बचने के लिए null लौटाने के बजाय Optional का उपयोग करना बेहतर होगा।"
  • \n
  • निष्कर्ष: "बाकी कोड साफ है, काम के लिए धन्यवाद!"
  • \n
\n\n

2.2. "मैं-संदेश" और प्रश्नों का उपयोग करें

\n

"तुमने गलत लिखा" कहने के बजाय कहें: "मुझे लगता है कि खाली सूची होने पर यहाँ बग हो सकता है। आपका क्या ख्याल है?"। इससे रक्षात्मक प्रतिक्रिया कम होती है और बातचीत रचनात्मक दिशा में जाती है।

ब्लॉग

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