Partial Function

Pitchayut CheeseJa
odds.team
Published in
May 29, 2024
Image by https://chatgpt.com/

เราต่างก็ต้องการใครสักคนมาเติมเต็มทั้งนั้น

เมื่อนานมาแล้ว มีโอกาสได้ Pair กับ Chokchai Phatharamalai ทำการ Refactor เพื่อแก้ไข Code Smell

ยกตัวอย่าง Code ง่ายๆเพื่อให้เข้าใจมากขึ้น

function add(x: number, y: number): number {
return x + y;
}

console.log(add(3, 2)); // ผลลัพธ์คือ 5
console.log(add(4, 2)); // ผลลัพธ์คือ 6
console.log(add(5, 2)); // ผลลัพธ์คือ 7

เมื่อเห็นหน้าตาของ Code สิ่งที่พี่จั๊วะทำคือเขียนสิ่งหนึ่งลงบนกระดาน คือ

f(x,y) = x + y

นี่คือสิ่งที่คุณกำลังทำ เดี๋ยวผมจะพาคุณทำแบบนี้

g(x) = f(x,2) = x + 2

งงอ่ะดิ …

ในทางคณิตศาสตร์ Partial Function คือฟังก์ชันที่ถูกกำหนดค่า Input บางส่วนไว้ล่วงหน้า แล้วสร้างฟังก์ชันใหม่ที่มี Input น้อยลงแต่ยังคงความสัมพันธ์กับฟังก์ชันเดิมอยู่

ถ้าแก้ไข Code ด้านบน จะได้ประมาณนี้

function add(x: number, y: number): number {
return x + y;
}

const addTwo = (x: number) => add(x, 2);

console.log(addTwo(3)); // ผลลัพธ์คือ 5
console.log(addTwo(4)); // ผลลัพธ์คือ 6
console.log(addTwo(5)); // ผลลัพธ์คือ 7

ประโยชน์

  1. ลดความซับซ้อนของ Code: ทำให้การเขียน code สะดวกขึ้นโดยการกำหนดค่า Argument บางส่วนล่วงหน้า
  2. เพิ่มความยืดหยุ่น: สร้างฟังก์ชันใหม่ได้จากฟังก์ชันเดิม ช่วยให้การนำกลับมาใช้ซ้ำได้ง่าย
  3. ลดข้อผิดพลาด: ลดความผิดพลาดจากการพิมพ์ค่า Argument ซ้ำๆ

--

--