เขามีนามมังกรว่า ternary operator
(เงื่อนไข) ? คืนค่านี้ถ้าเป็นจริง : คืนค่านี้ถ้าเป็นเท็จ
ternary operator ก็คือ if else แบบย่อส่วน
ดูประโยคเงื่อนไขนี้นะครับ
เมื่อเปลี่ยนมาใช้ ternary operator จะเหลือแค่
สั้นเหมือนของเด็กเลย
ternary operator นี้ จะตรวจสอบประโยคในวงเล็บ หน้าเครื่องหมาย ? ถ้าเป็นจริง ก็จะคืนค่า “ตัวแปร SESSION ใช้งานได้” กลับไป แต่ถ้าเป็นเท็จ ก็จะคืนค่า “ตัวแปร SESSION ใช้งานไม่ได้” โดยปกติแล้ว เขาจะนิยมเอาไปใช้ในการกำหนดค่าตัวแปร แบบทางเลือก เห็นฝรั่งใช้กันมาก ternary operator นี้ บางครั้งผมก็ใช้ บางครั้งผมก็ใช้ if else เต็มรูปแบบแทน ขึ้นอยู่กับว่า โค้ดบริเวณใกล้เคียงยากหรือง่าย ถ้ายากผมเลือกใช้ if เพราะมันอ่านง่ายกว่า ทั้งกับตัวเองและผู้อื่น ถ้าโค้ดแถวนั้นง่ายไม่มีอะไรซับซ้อน ก็จะใช้ ternary เพราะมันสั้นกว่า
สำหรับผมแล้ว เวลาเขียนโปรแกรม จะต้องมองไปถึงเพื่อนร่วมงานด้วย ว่ามีทักษะประมาณไหน แล้วก็เขียนโค้ดให้เพื่อนในกลุ่ม อ่านได้ไม่ยากนัก ไม่ใช่ว่า เพื่อนในกลุ่มยังไม่มีใครเข้าใจเรื่อง OOP เลย แต่เรารู้ เราก็เลยล่อ OOP ซะเต็มแรงม้า อย่างนี้ ถ้าจะมอบงานให้เพื่อนต่อ เพื่อนจะทำไง หรือบางทีโค้ดที่เขียนอยู่ สามารถจะเขียนให้สั้นและเร็วได้ แต่ผมไม่ทำ เพราะคนอื่นอ่านและทำความเข้าใจยาก เป็นต้น
จึงไม่แปลกใจเลยว่า เคยได้ยินคำพูดของใครคนหนึ่งที่บอกว่า การเขียนโปรแกรมไม่ใช่แค่การพิมพ์ แต่เป็นทั้งศาสตร์และศิลป์
แหล่งข้อมูลเพิ่มเติม
http://www.totallyphp.co.uk/tutorials/using_if_else_ternary_operators.htm
7 says:
07/04/2552 at 07/04/2552
ผมไม่ใช้ code ย่อพวกนี้เลย เพราะดูยาก แล้วก็ไม่ได้ทำให้โปรแกรมเร็วขึ้น
คนโง่ says:
15/10/2552 at 15/10/2552
ขอบคุนคับ