กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see


News

news ทีมงานภาษา Go ยอมแพ้ เลิกหาทางแก้ Syntax ส่วนการตรวจความผิดพลาดหลังเรียก API ระบุไม่มีทางไหนได้รับการยอมรับ

News 

Active member

Staff member
Moderator
Collaborate
ทีมงานภาษา Go ยอมแพ้ เลิกหาทางแก้ Syntax ส่วนการตรวจความผิดพลาดหลังเรียก API ระบุไม่มีทางไหนได้รับการยอมรับ
Body

Robert Griesemer วิศวกรกูเกิลในทีมงานภาษา Go เขียนบล็อกสรุปถึงความพยายามที่จะสร้าง syntax ใหม่เพื่อจัดการความผิดพลาดหลังเรียก API ภายนอก เนื่องจากภาษา Go นั้นไม่รองรับ exception และความผิดพลาดต่างๆ จากการเรียกฟังก์ชั่นจะถูกรายงานออกมาออกในรูปแบบของการคืนค่าซึ่งโปรแกรมเมอร์ Go ก็มักใช้ตัวแปรชื่อ err มารับค่านี้ไว้ และตรวจสอบว่าเกิดความผิดพลาดหรือไม่

แต่รูปแบบการตรวจสอบความผิดพลาดนี้ทำให้โค้ดไม่สวยในหลายกรณี โดยเฉพาะเมื่อมีการเรียกฟังก์ชั่นจำนวนมากๆ ก็จะเกิด if ที่ใช้ตรวจความผิดพลาดเต็มไปหมด

Griesemer ระบุว่าทีมงานรับฟังความเห็นนี้ และหลายปีที่ผ่านมาก็พยายามหาทางแก้ปัญหาเริ่มตั้งแต่ปี 2018 เป็นต้นมา และข้อเสนอหลายอันก็สร้างข้อถกเถียงอย่างกว้างขวาง เช่น ข้อเสนอ try เมื่อปี 2019 มีคอมเมนต์เถียงกันกว่า 900 คอมเมนต์ หรือข้อเสนอ ? เมื่อปี 2024 ที่ยืม syntax มาจากภาษา Rust

หลังจากถกเถียงกันมาหลายปี Griesemer ระบุว่า syntax การจัดการความผิดพลาดของ Go ใช้งานได้ดี แม้จะทำให้โค้ดยาวไปบ้าง และการนำอิมพลีเมนต์ฟีเจอร์จัดการความผิดพลาดใหม่ก็สร้างความขัดแย้งในกลุ่มผู้ใช้ และฟีเจอร์การจัดการความผิดพลาดนี้ต่างจากฟีเจอร์อื่น เพราะถ้าใส่เข้ามาและมีคนเริ่มใช้ โปรแกรมเมอร์อื่นๆ ก็จะถูกบังคับให้ใช้งานไปพร้อมกัน ขณะที่ฟีเจอร์อื่น เช่น Generics คนที่ไม่สนใจใช้งานก็ยังทำงานได้ต่อไปโดยไม่ต้องใช้ฟีเจอร์นี้ นอกจากนี้ไลบรารีใหม่ๆ ก็ช่วยลดความยืดเยื้อของโค้ดลงได้บ้าง เช่น cmp.Or ก็ใช้จัดการความผิดพลาดได้ทีหลังหลายๆ API call

จากข้อสรุปทั้งหมด Griesemer ประกาศว่าทีมงาน Go ยังไม่รับข้อเสนอการจัดการความผิดพลาดอีกแล้ว และทีมงานจะปิดข้อเสนอทั้งหมด

ที่มา - Go Blog

lew Wed, 04/06/2025 - 22:44

Continue reading...
 



กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see
Back
Top Bottom