Visual Basic for Applications:
การปรับโครงสร้างโค้ด
วิธีการ:
พิจารณาตัวอย่างพื้นฐานใน Visual Basic for Applications (VBA) ที่เรามี subroutine ซึ่งพิมพ์รายละเอียดของพนักงาน ในตอนแรกโค้ดนั้นยุ่ง ยากต่อการดูแลหรือขยาย
Sub PrintEmployeeDetails()
Dim name As String
Dim age As Integer
Dim department As String
name = "John Doe"
age = 30
department = "IT"
MsgBox "Name: " & name & vbCrLf & "Age: " & age & vbCrLf & "Department: " & department
End Sub
ขั้นตอนการ Refactor ที่ 1: สร้าง Method แยกต่างหาก หนึ่งในเทคนิคการ refactor ที่พบบ่อยที่สุดคือการเอาชิ้นของโค้ดเฉพาะออกไปไว้ใน method ของมันเอง จะทำให้โค้ดมีโครงสร้างมากขึ้นและง่ายต่อการเข้าใจ
Sub PrintEmployeeDetails()
Dim name As String
Dim age As Integer
Dim department As String
name = "John Doe"
age = 30
department = "IT"
DisplayMessage name, age, department
End Sub
Private Sub DisplayMessage(name As String, age As Integer, department As String)
MsgBox "Name: " & name & vbCrLf & "Age: " & age & vbCrLf & "Department: " & department
End Sub
ขั้นตอนการ Refactor ที่ 2: ใช้โครงสร้างข้อมูล เป็นขั้นตอนที่ใช้โครงสร้างข้อมูลในการจัดเก็บข้อมูลที่เกี่ยวข้องกัน เพื่อปรับปรุงความชัดเจนของโค้ดและทำให้สามารถส่งข้อมูลกลุ่มได้ง่ายขึ้น
Type Employee
name As String
age As Integer
department As String
End Type
Sub PrintEmployeeDetails()
Dim emp As Employee
emp.name = "John Doe"
emp.age = 30
emp.department = "IT"
DisplayMessage emp
End Sub
Private Sub DisplayMessage(emp As Employee)
MsgBox "Name: " & emp.name & vbCrLf & "Age: " & emp.age & vbCrLf & "Department: " & emp.department
End Sub
ขั้นตอนเหล่านี้เปลี่ยนโค้ดที่ยุ่งเหยิงให้เป็นโค้ดที่มีโครงสร้างและโมดูลาร์ เพิ่มความสามารถในการอ่านและการบำรุงรักษาอย่างมาก
การศึกษาเพิ่มเติม
แนวคิดเรื่องการ Refactor เก่าพอๆ กับการเขียนโปรแกรมเอง แต่หนังสือ “Refactoring: Improving the Design of Existing Code” ของ Martin Fowler ทำให้มันเข้าสู่กระแสหลัก โดยเน้นความสำคัญในกระบวนการพัฒนาซอฟต์แวร์ ใน Visual Basic for Applications, Refactor อาจเป็นเรื่องที่ท้าทายกว่าเล็กน้อยเนื่องจากขาดเครื่องมือที่ติดตั้งมาใน integrated development environments (IDEs) ที่รองรับการ Refactor อัตโนมัติ
อย่างไรก็ตาม นี่ไม่ได้ลดความสำคัญ แม้ใน VBA, การใช้เทคนิคการ refactor พื้นฐานด้วยตนเองสามารถเพิ่มความสะอาดและประสิทธิภาพของฐานโค้ดได้อย่างมาก แม้ว่า VBA อาจไม่มีความสะดวกสบายร่วมสมัยเหมือนกัน แต่หลักการออกแบบโค้ดที่ดียังคงเป็นสากล เหล่านักพัฒนาที่มาจากภาษาอื่นอาจพบว่ากระบวนการด้วยตนเองนั้นอารมณ์เสีย แต่จะชื่นชมประโยชน์ของการลงทุนเวลาในการปรับปรุงคุณภาพโค้ดตั้งแต่เริ่มต้นอย่างไม่สงสัย
สำหรับสภาพแวดล้อมการพัฒนาที่แข็งแกร่งขึ้นหรือเมื่อทำงานกับโปรเจ็คที่ซับซ้อนมากขึ้น อาจคุ้มค่าที่จะสำรวจทางเลือกอื่นที่เสนอเครื่องมือการ Refactor ที่ทรงพลังขึ้นหรือการเปลี่ยนโครงการ VBA เป็นภาษา .NET ที่ Visual Studio ให้การสนับสนุนการ Refactor อย่างกว้างขวาง อย่างไรก็ตาม การเข้าใจและการใช้หลักการการ Refactor ใน VBA เป็นทักษะที่มีค่าซึ่งเน้นความสำคัญของการเขียนโค้ดที่สะอาดและสามารถบำรุงรักษาได้ ไม่ว่าสภาพแวดล้อมจะเป็นอย่างไร