PowerShell:
การปรับโครงสร้างโค้ด

วิธีการ:

PowerShell ไม่มีเครื่องมือการ Refactoring อย่างเฉพาะเจาะจงในตัว แต่คุณยังสามารถทำความสะอาดโค้ดของคุณเพื่อความสามารถอ่านและประสิทธิภาพได้ พิจารณาฟังก์ชันที่ทำงานมากเกินไปและวิธีที่เราอาจปรับโครงสร้างใหม่เพื่อความชัดเจน:

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

การศึกษาลึก

การ Refactoring ในการเขียนโปรแกรมมีต้นกำเนิดยาวนานไปจนถึงช่วงเริ่มแรกของการพัฒนาซอฟต์แวร์ แม้กระนั้นถูกทำให้เป็นระบบการปฏิบัติในช่วงทศวรรษที่ 1990 หนังสือของมาร์ติน ฟาวเลอร์ “Refactoring: Improving the Design of Existing Code” เป็นหนึ่งในผลงานสำคัญเกี่ยวกับหัวข้อนี้ ซึ่งเน้นถึงความสำคัญของการ Refactoring เพื่อบรรลุโค้ดที่สะอาด

ในขณะที่ PowerShell ไม่มาพร้อมกับเครื่องมือ Refactoring เฉพาะเจาะจงเหมือนบาง Integrated Development Environments (IDEs) สำหรับภาษาอื่น (เช่น Eclipse หรือ Visual Studio) คุณยังสามารถปฏิบัติตามหลักการ Refactoring ที่ดีได้ด้วยตนเอง สิ่งสำคัญที่ต้องจำไว้คือการ Refactoring ไม่ใช่แค่การเปลี่ยนโค้ดเพื่อการเปลี่ยนแปลง แต่เป็นการทำการเปลี่ยนแปลงที่มีเจตนา อนุรักษ์พฤติกรรม ที่เพิ่มพูนโครงสร้างและการออกแบบของโค้ด

ทางเลือกต่อการ Refactoring ด้วยตนเองใน PowerShell รวมถึงการใช้งาน IDEs ที่รองรับภาษานั้น เช่น Visual Studio Code พร้อมส่วนขยาย PowerShell ซึ่งเสนอคุณสมบัติเช่นการจัดรูปแบบโค้ดและความสามารถในการ Refactoring พื้นฐาน สำหรับการ Refactoring ที่สำคัญยิ่งขึ้น คุณอาจพิจารณาใช้การทดสอบ Pester เพื่อให้แน่ใจว่าการเปลี่ยนแปลงไม่ได้เปลี่ยนแปลงฟังก์ชันการทำงาน

นอกจากนี้ การดำเนินการในการ Refactoring อาจเกี่ยวข้องกับการเปลี่ยนแปลงที่โดยรวมมากขึ้นเช่นการ modularization ซึ่งคือการแบ่งโค้ดเป็นโมดูลหรือฟังก์ชันที่สามารถนำกลับมาใช้ใหม่ได้ ซึ่งช่วยปรับปรุงการยึดหลัก DRY (Don’t Repeat Yourself) หลักการ Refactoring อื่นๆ ทั่วไป รวมถึงการเปลี่ยนชื่อเพื่อความชัดเจน การลบโค้ดที่ซ้ำซ้อน และการลดความซับซ้อนของเงื่อนไขตรรกะ

ดูเพิ่มเติม

เพื่อศึกษาเพิ่มเติม นี่คือแหล่งข้อมูลบางส่วน: