สวัสดีครับเพื่อน ๆ ชาวเดฟทุกคน เคยได้ยินหรือว่าเคยใช้งาน Psudocode กันมาก่อนรึเปล่าครับ วันนี้เราจะมาทำความรู้จักหรือทบทวนไปพร้อม ๆ กันว่าซูโดโค้ดนั้นคืออะไร รับรองว่าไม่ยากแน่นอนถ้ารู้แล้วชีวิตเดฟของคุณอาจจะดีขึ้นก็ได้ครับ
Pseudocode คืออะไรกันแน่ ?
มาเริ่มจากอ่านคำนี้กันก่อนเลย มันอ่านว่า “ซูโดโค้ด” ครับ คิดง่าย ๆ ว่า Pseudocode ก็คือ “โค้ดปลอม ๆ” นั่นแหละ มันเป็นวิธีเขียนอธิบายวิธีคิดหรืออัลกอริทึมบางอย่างแบบง่าย ๆ โดยมีเป้าหมายเพื่ออธิบายให้คนด้วยกันนี่แหละเข้าใจ
ทำไมต้องสนใจ Pseudocode ด้วยล่ะ ?
- เข้าใจง่ายสุด ๆ: ถ้าฟังเพื่อนพูดแล้วเข้าใจ อ่านซูโดโค้ดก็ยิ่งง่ายกว่านั้นอีก
- โฟกัสที่ไอเดีย: ไม่ต้องมานั่งปวดหัวกับซินแท็กซ์ภาษาโปรแกรมมิ่งให้วุ่นวาย
- คุยกับทีมรู้เรื่อง: อธิบายไอเดียให้เพื่อนร่วมทีมเข้าใจได้ง่าย ๆ ไม่ต้องงงกัน
- วางแผนก่อนลุย: ช่วยให้เรามองเห็นภาพรวมก่อนลงมือเขียนโค้ดจริง ๆ
ต้องเตรียมอะไรบ้าง ?
ปกติแล้วเวลาเราลองเขียนภาษาโปรแกรมหรือศึกษาเครื่องมือใหม่ ๆ ซักตัว ก็อาจจะสงสัยว่าเราต้องใช้ IDE อะไรเพื่อเอามาเขียนแล้วจะใช้งานได้ดีที่สุด สำหรับซูโดโค้ดก็อาจจะมีคนสงสัยเหมือนกัน แต่ก็อย่างที่บอกไปว่าซูโดโค้ดมันก็เป็นแค่การอธิบายให้คนด้วยกันเข้าใจ เพราะฉะนั้นเราจะเขียนที่ไหนก็ได้ จะเป็น VSCode, Notepad, Google Doc หรือเขียนในกระดาษก็ได้ได้หมดเลย
หน้าตาของ Pseudocode
ลองนึกภาพว่าคุณกำลังอธิบายวิธีทำอาหารให้เพื่อนฟัง แต่แทนที่จะเขียนอธิบายยาว ๆ ก็เปลี่ยนมาเน้นอธิบายขั้นตอนหรือเงื่อนไขสำคัญ ๆ ก็พอ
IF มีไข่ในตู้เย็น
หยิบไข่ออกมา 2 ฟอง
ELSE
วิ่งไปซื้อที่ร้านข้าง ๆ
Markdownจะเห็นได้ว่าซูโดโคสต์มันก็เป็นแค่วิธีการอธิบายการทำงานด้วยภาษาพูดนี่แหละ แค่เอามาจัดหน้าตาให้มองง่าย ๆ หรือจะใช้ภาษาไทยล้วน ๆ ก็ไม่ผิดอะไร
ถ้ามีไข่ในตู้เย็น
หยิบไข่ออกมา 2 ฟอง
ถ้าไม่มี
วิ่งไปซื้อที่ร้านข้าง ๆ
Markdownวิธีเขียน Pseudocode ให้ออกมาดี
- ใช้ภาษาชาวบ้าน: เขียนยังไงให้ทุกคนเข้าใจโดยไม่จำเป็นต้องเป็นเดฟด้วยกัน
- จัดระเบียบให้ดี: ย่อหน้า เว้นวรรค ให้สวยงาม อ่านง่าย
- ใช้คำสั่งพื้นฐาน: IF, ELSE, WHILE, FOR อะไรพวกนี้ใช้ได้หมด
- แตกเป็นขั้นตอน: เขียนทีละขั้น ๆ ให้ชัดเจน
มาดูตัวอย่างสุดท้ายกันเถอะ !
Psudocode นั้นสามารถใช้อธิบายการทำงานที่ซับซ้อนหรือมีขั้นตอนเยอะ ๆ ได้เหมือนโค้ดปกติ ลองดูจากตัวอย่างการรับออเดอร์ในร้านอาหารตามสั่งนี้ได้เลย
ทักทายสวัสดีครับ
รอรับออเดอร์
ถามว่ารับอะไรดีครับ
ถ้าลูกค้าบอกว่าสั่งครบแล้วหรือพอแล้ว
จบการรับออเดอร์
ถ้าลูกค้าสั่งของที่มีในเมนู
จดเอาไว้
ถ้าสั่งของที่ไม่มี
บอกลูกค้าว่าไม่มีเมนูนี้ครับ
ถ้ามีรายการอาหารที่จดไว้
บอกลูกค้าว่าทวนรายการที่จดไว้นะครับ
[เมนูที่จดไว้]
บอกว่ารอซักครู่นะครับ
ถ้ายังไม่มีซักเมนู
บอกลูกค้าว่ายังไม่ได้สั่งอาหารเลยครับ
Markdownลองเอามาเขียนเป็น Python ก็จะได้ออกมาแบบนี้เลย
menu = ["กะเพรา", "ข้าวผัด", "ต้มยำ"]
order = []
print("สวัสดีครับ ยินดีต้อนรับ")
while True:
answer = input("รับอะไรดีครับ? ").strip().lower()
if answer in ["สั่งครบแล้ว", "พอแล้ว"]:
break
if answer in menu:
order.append(answer)
print(f"เพิ่ม {answer} เข้ารายการแล้วครับ")
else:
print("ขอโทษครับ ไม่มีเมนูนี้")
if order:
print("ทวนรายการที่จดไว้นะครับ")
for menu in order:
print(f"- {menu}")
print("รอสักครู่นะครับ")
else:
print("ยังไม่ได้สั่งอาหารเลยครับ")
Pythonสรุปได้ว่า
Pseudocode ก็แค่วิธีเขียนอธิบายโปรแกรมแบบชิล ๆ ไม่ต้องซีเรียส มันช่วยให้เราคิดได้ชัดขึ้น สื่อสารกับทีมได้ง่ายขึ้น และวางแผนงานได้ดีขึ้น
สุดท้ายนี้อยากบอกว่า Pseudocode ไม่มีถูกไม่มีผิด ขอแค่คนอ่านเข้าใจก็พอ! ขอให้สนุกกับการเขียนโค้ด เจอกันใหม่บทความหน้าครับ