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

วิธีการ:

ลองไปดูตัวอย่างของการ refactor วิธีการใน Ruby ที่คำนวณผลรวมของกำลังสอง

ก่อน Refactoring:

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

หลัง Refactoring:

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

puts sum_of_squares([1, 2, 3])  # ผลลัพธ์: 14

เวอร์ชั่นที่ได้รับการ refactor ใช้ Ruby Enumerables เพื่อแสดงตรรกะเดียวกันได้อย่างกระชับและชัดเจนยิ่งขึ้น วิธีการ map ทำการเปลี่ยนแปลงแต่ละรายการ และ sum รวมค่าของพวกเขา ลดความจำเป็นในการจัดการ loop และการกำหนดตัวแปรด้วยตนเอง

ลึกซึ้งยิ่งขึ้น

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

เมื่อเราพูดถึงทางเลือกสำหรับการ refactor เราต้องพิจารณาวิธีการอื่น ๆ เช่น ‘การเขียนใหม่’ ซึ่งคุณทดแทนระบบเก่าบางส่วนหรือทั้งหมด หรือปรับใช้การปฏิบัติเช่น ‘การทบทวนโค้ด’ และ ‘การเขียนโปรแกรมคู่’ เพื่อยกระดับคุณภาพโค้ดอย่างค่อยเป็นค่อยไป อย่างไรก็ตาม สิ่งเหล่านี้ไม่ใช่การแทนที่การ refactor; พวกมันเสริมกระบวนการ

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

ดูเพิ่มเติม

เพื่อขุดลึกเพิ่มเติมเกี่ยวกับการ refactor ใน Ruby, ตรวจสอบทรัพยากรเหล่านี้: