PHP में क्लीन कोड: पढ़ने योग्य कोड लिखने के सिद्धांत

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

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

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

PHP में क्लीन कोड: सिद्धांत और उदाहरण



हर PHP डेवलपर ने ऐसी स्थिति का सामना किया है जब कुछ महीनों बाद उनका अपना कोड समझ से बाहर हो जाता है। पिछली टीम से विरासत में मिले दूसरों के कोड की तो बात ही छोड़िए। इससे बग्स, नए लोगों के लिए लंबा ऑनबोर्डिंग और बदलाव करने की अनिच्छा होती है। इस समस्या का समाधान क्लीन कोड के सिद्धांत हैं, जिन्हें रॉबर्ट मार्टिन (अंकल बॉब) ने लोकप्रिय बनाया। इस लेख में हम PHP पर लागू क्लीन कोड के प्रमुख सिद्धांतों को समझेंगे और विशिष्ट उदाहरण देखेंगे।



1. चर, फ़ंक्शन और क्लास का नामकरण



सही नामकरण पढ़ने योग्य कोड का आधार है। नाम को इन सवालों का जवाब देना चाहिए: "यह क्या है?" और "यह किस लिए है?"। संक्षिप्तता के लिए अक्षरों की बचत न करें।



खराब उदाहरण (खराब कोड)

<?phpfunction getData($d, $u) {    $r = [];    foreach ($d as $i) {        if ($i['status'] === 'active' && $i['user_id'] === $u) {            $r[] = $i;        }    }    return $r;}?>


अच्छा उदाहरण (स्वच्छ कोड)

<?phpfunction getActiveOrdersByUser(array $orders, int $userId): array{    $activeOrders = [];    foreach ($orders as $order) {        if ($order['status'] === 'active' && $order['user_id'] === $userId) {            $activeOrders[] = $order;        }    }    return $activeOrders;}?>


नामकरण के नियम:

  • चर — संज्ञा: $userName, $orderTotal।
  • फ़ंक्शन — क्रिया: calculateTotal(), sendEmail()।
  • क्लास — एकवचन में संज्ञा: UserRepository, OrderProcessor।
  • बूलियन चर — is, has, can से शुरू करें: $isActive, $hasPermission।
  • बचें संक्षिप्ताक्षरों ($usr), ट्रांसलिट ($sozdanieZakaza) और एक अक्षर वाले चरों (लूप काउंटर $i को छोड़कर) से।


2. फ़ंक्शन: छोटे और एकल जिम्मेदारी वाले



फ़ंक्शन को केवल एक कार्य करना चाहिए और उसे अच्छी तरह से करना चाहिए। यदि फ़ंक्शन कई कार्य करता है, तो उसे विभाजित करना चाहिए। आदर्श फ़ंक्शन का आकार 10-20 पंक्तियाँ है।



खराब उदाहरण (फ़ंक्शन सब कुछ करता है)

<?phpfunction processOrder(array $orderData): bool{    // सत्यापन    if (empty($orderData['items'])) {        return false;    }    // कुल लागत की गणना    $total = 0;    foreach ($orderData['items'] as $item) {        $total += $item['price'] * $item['quantity'];    }    // डेटाबेस में सहेजना    $sql = "INSERT INTO orders (user_id, total, status) VALUES (?, ?, 'new')";    $stmt = $this->db->prepare($sql);    $stmt->execute([$orderData['user_id'], $total]);    // ईमेल भेजना    mail($orderData['email'], 'Order Confirmation', 'Your order is placed');    return true;}?>


अच्छा उदाहरण (छोटे फ़ंक्शनों में विभाजन)

<?phpclass OrderService{    public function processOrder(array $orderData): bool    {        if (!$this->validateOrder($orderData)) {            return false;        }        $total = $this->calculateTotal($orderData['items']);        $orderId = $this->saveOrder($orderData['user_id'], $total);        $this->sendConfirmationEmail($orderData['email']);        return true;    }

private function validateOrder(array $orderData): bool { return !empty($orderData['items']); }

private function calculateTotal(array $items): float { $total = 0; foreach ($items as $item) { $total += $item['price'] * $item['quantity']; } return $total; }

private function s

ब्लॉग

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