Functional programming คืออะไร?

แนวคิดกระบวนทัศน์การเขียนโปรแกรม

Eleanor Thomas

Senior Data Analytics Engineer

Functional programming คืออะไร?

  • Functional programming: รูปแบบการเขียนโปรแกรมที่เน้นการใช้ฟังก์ชัน โดยเฉพาะ pure functions
  • Pure functions: กระบวนการที่รับค่า input แล้วผลิต output โดยอิงจาก input เท่านั้น ไม่มีการทำสิ่งอื่นใด
  • การแยกหน้าที่ ใน functional programming ทำได้ผ่านฟังก์ชัน

Input, Processing, Output

แนวคิดกระบวนทัศน์การเขียนโปรแกรม

Pure function คืออะไร?

  • แนวคิด pure function ใน functional programming มีที่มาจากคณิตศาสตร์
  • Pure functions รับแต่ input และ ผลิตแต่ output เท่านั้น
  • Pure functions ไม่มี "side effects"
  • ไม่มี side effects หมายความว่า:
    • ไม่ส่งผลต่อตัวแปรอื่นในโปรแกรม
    • ไม่เขียนข้อมูลลงไฟล์
    • ไม่บันทึกข้อมูลลงฐานข้อมูล
แนวคิดกระบวนทัศน์การเขียนโปรแกรม

ตัวอย่าง pure function

Pure function

def pure_sum(x, y):
    output = x + y

    return output

ไม่ใช่ pure function

def not_pure_sum(x, y):
    output = x + y

    print(output)

    return output
แนวคิดกระบวนทัศน์การเขียนโปรแกรม

ประโยชน์ของ pure functions

  • Pure functions เข้าใจและ debug ได้ง่ายกว่า
  • การทดสอบ pure functions ทำได้ง่ายกว่า
  • Output สำหรับ input ที่กำหนดนั้นคาดเดาได้แน่นอน
    • เหมือนฟังก์ชันในคณิตศาสตร์: 5 ยกกำลัง 2 ได้ 25 เสมอ

Input, Output

แนวคิดกระบวนทัศน์การเขียนโปรแกรม

มาฝึกกันเถอะ!

แนวคิดกระบวนทัศน์การเขียนโปรแกรม

Preparing Video For Download...