PHP:
कोड संशोधन

कैसे:

एक क्लासिक PHP स्निपेट को लेते हैं और उसपर कुछ रीफैक्टरिंग जादू लागू करते हैं।

रीफैक्टरिंग से पहले, हमारा कोड ऐसा दिख सकता है:

function printOrderDetails($order) {
    foreach ($order as $item) {
        echo "Item: " . $item['name'];
        echo " - Price: " . $item['price'];
        echo "<br>";
    }
    
    if (!empty($order)) {
        echo "Total: " . array_sum(array_column($order, 'price'));
    }
}

लेकिन हम इस कोड को इसकी स्पष्टता और मॉड्यूलरिटी में सुधार के लिए रीफैक्टर कर सकते हैं:

function printItem($item) {
    echo "Item: {$item['name']} - Price: {$item['price']}<br>";
}

function calculateTotal($order) {
    return array_sum(array_column($order, 'price'));
}

function printOrderDetails(array $order) {
    array_walk($order, 'printItem');

    if (!empty($order)) {
        echo "Total: " . calculateTotal($order);
    }
}

printOrderDetails फ़ंक्शन को छोटे फ़ंक्शनों में विभाजित करके, हमारा कोड अधिक पठनीय और डीबग करने में आसान बन जाता है।

गहराई से जानकारी

रीफैक्टरिंग की जड़ें शुरुआती 1990 के दशक के स्मॉलटॉक प्रोग्रामिंग समुदाय में हैं और मार्टिन फाउलर की अग्रणी पुस्तक “Refactoring: Improving the Design of Existing Code” (1999) द्वारा और लोकप्रिय किया गया। हालांकि रीफैक्टरिंग को किसी भी प्रोग्रामिंग भाषा में लागू किया जा सकता है, PHP की डायनेमिक प्रकृति कुछ अनूठी चुनौतियों और अवसरों को प्रस्तुत करती है।

रीफैक्टरिंग के विकल्प में कोड को स्क्रैच से फिर से लिखना शामिल हो सकता है, जो अक्सर जोखिम भरा और समय लेने वाला होता है। PHP इकोसिस्टम में, PHPStan और Rector जैसे उपकरण क्रमशः कुछ रीफैक्टरिंग ऑपरेशनों को स्वचालित रूप से स्पॉट और प्रदर्शन कर सकते हैं। कार्यान्वयन के दृष्टिकोण से, रीफैक्टरिंग्स को छोटा रखना और यूनिट टेस्ट्स के साथ व्यापक रूप से परीक्षण करना कीड़े न लाने की सुनिश्चितता में महत्वपूर्ण प्रथाएं हैं।

देखें भी