Ruby:
कोड सुधार

कैसे:

आइए हम रूबी में वर्गों के योग की गणना करने वाले एक विधि को रिफैक्टर करने का उदाहरण देखें।

रिफैक्टरिंग से पहले:

def sum_of_squares(numbers)
  sum = 0
  numbers.each do |number|
    square = number * number
    sum += square
  end
  sum
end

puts sum_of_squares([1, 2, 3])  # आउटपुट: 14

रिफैक्टरिंग के बाद:

def sum_of_squares(numbers)
  numbers.map { |number| number**2 }.sum
end

puts sum_of_squares([1, 2, 3])  # आउटपुट: 14

रिफैक्टर्ड संस्करण एक ही तार्किकता को संक्षिप्त और स्पष्ट रूप से व्यक्त करने के लिए रूबी की Enumerable का उपयोग करता है। map मेथड प्रत्येक तत्व को परिवर्तित करता है, और sum उनके मूल्यों को एकत्रित करता है, मैन्युअल लूप प्रबंधन और चर आवंटन की आवश्यकता को हटा देता है।

गहराई से अध्ययन

रिफैक्टरिंग का एक समृद्ध ऐतिहासिक संदर्भ है, जो सॉफ्टवेयर विकास में शुरुआती प्रथाओं के समय से है। शुरुआती उल्लेख 1990 के दशक में वापस ट्रेस किया जा सकता है, जिसमें मार्टिन फॉलर द्वारा “रिफैक्टरिंग: विद्यमान कोड की डिज़ाइन में सुधार” में महत्वपूर्ण योगदान दिया गया है, जहाँ वे रिफैक्टरिंग के लिए पैटर्न की एक कैटलॉग प्रदान करते हैं। तब से, रिफैक्टरिंग एजाइल विकास प्रथाओं का एक मूल पत्थर बन गया है।

जब हम रिफैक्टरिंग के विकल्पों के बारे में बात करते हैं, तब हमें एक अलग दृष्टिकोण जैसे ‘पुनर्लेखन’ का विचार करना होगा, जहाँ आप पुरानी प्रणाली के हिस्सों या पूरी तरह से बदल देते हैं या ‘कोड समीक्षाओं’ और ‘जोड़े प्रोग्रामिंग’ जैसी प्रथाओं को धीरे-धीरे कोड गुणवत्ता में सुधार के लिए अपनाते हैं। हैं। हालांकि, ये रिफैक्टरिंग के विकल्प नहीं हैं, बल्कि वे प्रक्रिया को पूरक करते हैं।

कार्यान्वयन के संदर्भ में, रूबी एक उत्कृष्ट और अभिव्यक्तिपूर्ण सिंटैक्स प्रदान करती है, जो अक्सर रिफैक्टरिंग के बाद छोटे, अधिक पठनीय कोड में परिणामित होती है। मुख्य सिद्धांतों में शामिल हैं DRY (Don’t Repeat Yourself), अर्थपूर्ण नामों का उपयोग, विधियों को छोटा रखना और एक एकल कार्य पर केंद्रित, और रूबी के Enumerable मॉड्यूल का प्रभावी उपयोग, जैसा कि उपरोक्त उदाहरण में देखा गया है। रुबोकॉप जैसे स्वचालित उपकरण भी प्रोग्रामर को कोड में ऐसे स्थानों की पहचान करने में मदद कर सकते हैं जहाँ रिफैक्टरिंग से लाभ मिल सकता है।

देखें भी

रूबी में रिफैक्टरिंग को गहराई से समझने के लिए, इन संसाधनों की जांच करें: