PowerShell:
कोड सुधार
कैसे:
PowerShell में एक समर्पित रीफेक्टरिंग टूल नहीं है, लेकिन आप फिर भी अपने कोड को पढ़ने में आसानी और प्रदर्शन के लिए साफ़ कर सकते हैं। एक फंक्शन पर विचार करें जो बहुत अधिक कर रहा है और कैसे हम इसे स्पष्टता के लिए रीफेक्टर कर सकते हैं:
function Get-InventoryData {
# मूल फंक्शन जो डेटा प्राप्ति और फॉर्मेटिंग को जोड़ता है
$data = Get-Content -Path 'C:\inventory-list.txt'
$inventoryData = $data | ForEach-Object {
$fields = $_ -split ','
[PSCustomObject]@{
ItemID = $fields[0]
Name = $fields[1]
Count = $fields[2]
Price = $fields[3]
}
}
$inventoryData | Format-Table -AutoSize
}
# अलग अलग फंक्शन्स में रीफेक्टर किया गया
function Import-InventoryData {
param($Path)
Get-Content -Path $Path | ForEach-Object {
$fields = $_ -split ','
[PSCustomObject]@{
ItemID = $fields[0]
Name = $fields[1]
Count = $fields[2]
Price = $fields[3]
}
}
}
function Format-InventoryData {
param($Data)
$Data | Format-Table -AutoSize
}
# उपयोग
$inventory = Import-InventoryData -Path 'C:\inventory-list.txt'
Format-InventoryData -Data $inventory
नमूना आउटपुट:
ItemID Name Count Price
------ ---- ----- -----
1001 Widget Type A 50 9.99
1002 Gadget Type B 20 14.99
गहन अध्ययन
प्रोग्रामिंग में रीफेक्टरिंग की जड़ें सॉफ्टवेयर विकास के आदि दिनों में जाती हैं, हालाँकि इसे 1990 के दशक में एक अभ्यास के रूप में औपचारिक रूप दिया गया था। मार्टिन फाउलर की पुस्तक “रीफेक्टरिंग: मौजूदा कोड के डिजाइन में सुधार” इस विषय पर प्रमुख कृतियों में से एक है, जो साफ कोड प्राप्त करने में रीफेक्टरिंग के महत्व पर जोर देती है।
हालांकि PowerShell में अन्य भाषाओं के लिए कुछ इंटीग्रेटेड डेवलपमेंट एन्वायरनमेंट्स (IDEs) की तरह विशिष्ट रीफेक्टरिंग टूल्स नहीं आते (जैसे Eclipse या Visual Studio के बारे में सोचें), आप फिर भी मैन्युअली अच्छे रीफेक्टरिंग सिद्धांतों का अभ्यास कर सकते हैं। मुख्य बात यह याद रखने की है कि रीफेक्टरिंग का अर्थ सिर्फ कोड में बदलाव करना नहीं है, बल्कि कोड की संरचना और डिजाइन को बढ़ाने वाले इरादे से, व्यवहार-संरक्षण मॉडिफिकेशन करना है।
PowerShell में मैनुअल रीफेक्टरिंग के विकल्पों में भाषा का समर्थन करने वाले IDEs का उपयोग करना शामिल है, जैसे कि PowerShell एक्सटेंशन के साथ Visual Studio Code, जो कोड फॉर्मैटिंग और बुनियादी रीफेक्टरिंग क्षमताओं जैसी सुविधाएँ प्रदान करता है। अधिक महत्वपूर्ण रीफेक्टरिंग के लिए, आप परिवर्तनों की फंक्शनैलिटी को बदले बिना सुनिश्चित करने के लिए पेस्टर टेस्टों का उपयोग करने पर विचार कर सकते हैं।
इसके अलावा, रीफेक्टरिंग का कार्यान्वयन अधिक प्रणालीगत परिवर्तनों जैसे मॉड्यूलरीकरण को शामिल कर सकता है, जहाँ कोड को पुन: प्रयोज्य मॉड्यूल्स या फंक्शनों में विभाजित किया जाता है, DRY (अपने आप को दोहराएं नहीं) सिद्धांत के पालन में सुधार करता है। अन्य सामान्य रीफेक्टरिंग तकनीकों में स्पष्टता के लिए नामकरण, डुप्लिकेट कोड को हटाना, और सशर्त लॉजिक की जटिलता को कम करना शामिल है।
देखें भी
गहराई से जानने के लिए, यहाँ कुछ साधन हैं:
- मार्टिन फाउलर की रीफेक्टरिंग पुस्तक: रीफेक्टरिंग: मौजूदा कोड के डिजाइन में सुधार
- पेस्टर के साथ रीफेक्टर्ड कोड का परीक्षण: पेस्टर टेस्टिंग फ्रेमवर्क
- PowerShell सर्वोत्तम प्रथाएं: द पावरशेल बेस्ट प्रैक्टिसेज एंड स्टाइल गाइड