Partial Function
Published in
May 29, 2024
เราต่างก็ต้องการใครสักคนมาเติมเต็มทั้งนั้น
เมื่อนานมาแล้ว มีโอกาสได้ 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
ประโยชน์
- ลดความซับซ้อนของ Code: ทำให้การเขียน code สะดวกขึ้นโดยการกำหนดค่า Argument บางส่วนล่วงหน้า
- เพิ่มความยืดหยุ่น: สร้างฟังก์ชันใหม่ได้จากฟังก์ชันเดิม ช่วยให้การนำกลับมาใช้ซ้ำได้ง่าย
- ลดข้อผิดพลาด: ลดความผิดพลาดจากการพิมพ์ค่า Argument ซ้ำๆ