PHP में स्वच्छ कोड लिखना: खुद और सहकर्मियों का सम्मान करने वालों के लिए गाइड

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

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

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

परिचय: 'स्वच्छ कोड' सिर्फ पांडित्य नहीं, बल्कि पैसे और मानसिक शांति का मामला है

\n\n

कल्पना करें कि आप PHP के एक पुराने प्रोजेक्ट में जा रहे हैं, जो एक साल पहले लिखा गया था। आप index.php फ़ाइल खोलते हैं, और वहाँ HTML, SQL क्वेरी, echo और f1() जैसे नामों वाले फंक्शन का मिश्रण है। परिचित लग रहा है? अगर हाँ, तो आप या तो एक नौसिखिया हैं जो अभी शुरुआत कर रहा है, या एक अनुभवी डेवलपर जिसे 'लीगेसी' प्रोजेक्ट मिला है।

\n\n

PHP में स्वच्छ कोड लिखना कोई फैशन या टीम लीड की सनक नहीं है। यह एक ऐसा उपकरण है जो घंटों, मानसिक शांति और पैसे बचाता है। इस लेख में, हम जानेंगे कि कैसे आप अपने PHP कोड को 'गंदे ड्राफ्ट' से 'स्वच्छ प्रति' में बदल सकते हैं, जो आपको और आपके सहकर्मियों को खुश करेगा। हम PSR मानकों, SOLID सिद्धांतों, सही नेमिंग के बारे में बात करेंगे और वास्तविक उदाहरण देंगे। चलिए शुरू करते हैं!

\n\n

1. स्वच्छ कोड का दर्शन: मुख्य सिद्धांत

\n\n

सिंटैक्स में गोता लगाने से पहले, आइए खेल के नियमों पर सहमत हों। स्वच्छ कोड वह कोड है जो:

\n\n
    \n
  • बिना कमेंट के समझ में आता है (हालांकि कमेंट कभी-कभी ज़रूरी होते हैं)।
  • \n
  • आसानी से टेस्ट किया जा सकता है।
  • \n
  • रिफैक्टरिंग से नहीं डरता।
  • \n
  • पूरे प्रोजेक्ट में एक समान शैली का पालन करता है।
  • \n
\n\n

रॉबर्ट मार्टिन (अंकल बॉब) ने अपनी किताब 'क्लीन कोड' में कहा: "तेज़ी से लिखने का एकमात्र तरीका अच्छा लिखना है"। अगर आप जल्दी और गंदा लिखते हैं, तो एक महीने बाद आप डिबगिंग में 10 गुना अधिक समय बर्बाद करेंगे। आइए दूसरों की गलतियों से सीखें, अपनी गलतियों से नहीं।

\n\n

2. PSR मानक: व्यवस्था की ओर आपका पहला कदम

\n\n

PHP की दुनिया में PSR (PHP Standards Recommendations) हैं - ये समुदाय द्वारा स्वीकार की गई सिफारिशें हैं। अगर आप इनका उपयोग नहीं करते, तो आप कम से कम अपने और अपने सहकर्मियों के लिए जीवन कठिन बना रहे हैं जो आपका कोड पढ़ेंगे।

\n\n

2.1 PSR-1 और PSR-12: बुनियादी कोडिंग शैली

\n\n

PSR-1 सामान्य नियम निर्धारित करता है, और PSR-12 विस्तृत शैली है। यहाँ कुछ मुख्य बिंदु हैं:

\n\n
    \n
  • फ़ाइलों में केवल <?php या <?= का उपयोग होना चाहिए।
  • \n
  • फ़ाइलों की एन्कोडिंग UTF-8 बिना BOM के होनी चाहिए।
  • \n
  • क्लास के नाम StudlyCaps में होने चाहिए (जैसे, UserController)।
  • \n
  • मेथड और प्रॉपर्टी के नाम camelCase में होने चाहिए (जैसे, getUserName())।
  • \n
  • इंडेंटेशन 4 स्पेस का होना चाहिए (टैब नहीं!)।
  • \n
\n\n

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

\n
<?\nclass user_controller {\n\tfunction Get_User_Name($id) {\n\t\t$name = Db::query("SELECT name FROM users WHERE id=$id");\n\t\treturn $name;\n\t}\n}\n
\n\n

अच्छे कोड का उदाहरण (PSR-12):

\n
<?php\n\ndeclare(strict_types=1);\n\nnamespace App\\Controllers;\n\nuse App\\Models\\User;\n\nclass UserController\n{\n    public function getUserName(int $id): ?string\n    {\n        $user = User::find($id);\n        return $user ? $user->getName() : null;\n    }\n}\n
\n\n

अंतर देख रहे हैं? दूसरा विकल्प किताब की तरह पढ़ा जाता है: तुरंत पता चल जाता है कि मेथड क्या करता है, वह किस प्रकार का डेटा लेता है और लौटाता है।

\n\n

2.2 PSR-4: क्लास की ऑटोलोडिंग

\n\n

हर फ़ाइल में require_once का उपयोग करना भूल जाइए। Composer और PSR-4 का उपयोग करें। यह नेमस्पेस के आधार पर स्वचालित रूप से क्लासेस को लोड करने की अनुमति देता है। फ़ोल्डर संरचना नेमस्पेस के अनुरूप होनी चाहिए:

\n\n
src/\n  App/\n    Controllers/\n      UserController.php\n    Models/\n      User.php\n    Services/\n      PaymentService.php\n
\n\n

composer.json में इसे एक लाइन में सेट किया जा सकता है:

\n
{\n    "autoload": {\n        "psr-4": {\n            "App\\\\": "src/"\n        }\n    }\n}\n
\n\n

3. सही नेमिंग: वेरिएबल का नाम $a कैसे न रखें

\n\n

नेमिंग 50% सफलता है। वेरिएबल का खराब नाम एक प्रतिभाशाली व्यक्ति को भी भ्रमित कर सकता है। आइए सामान्य गलतियों पर नज़र डालें।

\n\n

3.1 संक्षिप्ताक्षरों से बचें (स्पष्ट को छोड़कर)

ब्लॉग

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