PHP में कोड रिव्यू: क्या जाँचें और शुरुआती लोगों के लिए फीडबैक कैसे दें

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

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

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

परिचय: PHP में कोड रिव्यू की आवश्यकता क्यों है?

\n

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

\n\n

1. PHP कोड में क्या जाँचें: मुख्य श्रेणियाँ

\n

रिव्यू को संरचित बनाने के लिए, जाँच को कई प्रमुख क्षेत्रों में विभाजित करें। इससे महत्वपूर्ण विवरण छूटने से बचेगा और लेखक को स्पष्ट सुझाव मिलेंगे।

\n\n

1.1. सिंटैक्स और कोडिंग मानक (PSR)

\n

सबसे पहली चीज़ जो ध्यान खींचती है वह है कोड की शैली। PHP समुदाय ने PSR (PHP Standards Recommendations) मानक विकसित किए हैं जो कोड को पढ़ने और बनाए रखने को आसान बनाते हैं। जाँचें:

\n
    \n
  • PSR-12 का अनुपालन (इंडेंटेशन, स्पेस, कर्ली ब्रेसेस)।
  • \n
  • क्लासेस (CamelCase), मेथड और वेरिएबल्स (camelCase) का नामकरण।
  • \n
  • अनावश्यक स्पेस और खाली लाइनों की अनुपस्थिति।
  • \n
\n

खराब शैली का उदाहरण:

\n
class userController{\nfunction getUser($id){\nreturn $id;\n}\n}
\n

अच्छी शैली का उदाहरण (PSR-12):

\n
class UserController\n{\n    public function getUser(int $id): ?User\n    {\n        return $id;\n    }\n}
\n\n

1.2. सुरक्षा

\n

PHP एक ऐसी भाषा है जहाँ कमजोरियाँ आसानी से हो सकती हैं। विशेष रूप से ध्यान से जाँचें:

\n
    \n
  • SQL इंजेक्शन: स्ट्रिंग कॉन्केटनेशन के बजाय तैयार क्वेरी (PDO या mysqli) का उपयोग करें।
  • \n
  • XSS (क्रॉस-साइट स्क्रिप्टिंग): htmlspecialchars() के साथ आउटपुट को एस्केप करें।
  • \n
  • टाइप जाँच: सख्त टाइपिंग का उपयोग करें (declare(strict_types=1);)।
  • \n
\n

असुरक्षित कोड का उदाहरण:

\n
$sql = "SELECT * FROM users WHERE id = " . $_GET['id'];\n$result = mysqli_query($conn, $sql);
\n

सुरक्षित विकल्प:

\n
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');\n$stmt->execute(['id' => (int)$_GET['id']]);
\n\n

1.3. प्रदर्शन और तर्क

\n

जाँचें कि कोड अनावश्यक ऑपरेशन तो नहीं कर रहा है। उदाहरण के लिए:

\n
    \n
  • लूप में क्वेरी से बचें — JOIN या सबक्वेरी का उपयोग करें।
  • \n
  • त्रुटियों को दबाने के लिए @ का उपयोग न करें — यह समस्याओं को छुपाता है।
  • \n
  • जाँचें कि फंक्शन बहुत अधिक काम तो नहीं कर रहे हैं (एकल जिम्मेदारी का सिद्धांत)।
  • \n
\n

धीमे कोड का उदाहरण:

\n
foreach ($userIds as $id) {\n    $user = User::find($id); // N क्वेरीज़\n}
\n

अनुकूलित विकल्प:

\n
$users = User::whereIn('id', $userIds)->get(); // 1 क्वेरी
\n\n

2. फीडबैक कैसे दें: शुरुआती लोगों के लिए नियम

\n

भले ही आपको कई गलतियाँ मिली हों, जानकारी को इस तरह प्रस्तुत करना महत्वपूर्ण है कि लेखक इसे बुरा न माने। यहाँ कुछ सिद्धांत दिए गए हैं।

\n\n

2.1. विशिष्ट और वस्तुनिष्ठ बनें

\n

"यह कोड खराब है" कहने के बजाय लिखें: "लाइन 12 में SQL कॉन्केटनेशन का उपयोग किया गया है, जो इंजेक्शन का कारण बन सकता है। मैं इसे तैयार क्वेरी से बदलने की सलाह देता हूँ।" समझाएँ कि यह समस्या क्यों है, न कि केवल इसे इंगित करें।

\n\n

2.2. फीडबैक का "सैंडविच" उपयोग करें

\n

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

\n

"बहुत अच्छा कि आपने आर्गुमेंट्स के लिए टाइपिंग का उपयोग किया! हालांकि, getUser() मेथड एक स्ट्रिंग लौटाता है, User ऑब्जेक्ट नहीं — यह अन्य स्थानों पर टाइपिंग को तोड़ सकता है। मेरा सुझाव है कि रिटर्न टाइप को User या null में बदलें।"

\n\n

2.3. आलोचना करने के बजाय विकल्प सुझाएँ

\n

"यह अस्थायी समाधान हटाएँ" कहने के बजाय, एक बेहतर दृष्टिकोण सुझाएँ। उदाहरण के लिए: "मैं यहाँ एक अलग दृष्टिकोण का उपयोग करने का सुझाव देता हूँ, जैसे कि डिपेंडेंसी इंजेक्शन, क्योंकि यह कोड को अधिक परीक्षण योग्य बनाता है।"

ब्लॉग

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