01/10/2018, 17:37
Về toán tử goto
Dijkstra có nói :"… tay nghề của một lập trình viên tỉ lệ nghịch với số toán tử goto mà anh ta viết trong chương trình."
Mọi người nghĩ sao về câu này
Bài liên quan
Dijkstra có nói :"… tay nghề của một lập trình viên tỉ lệ nghịch với số toán tử goto mà anh ta viết trong chương trình."
Mọi người nghĩ sao về câu này
Nếu không dùng goto mà tay nghề vẫn kém thì sao 0 làm gì có nghịch đảo
Câu này là câu đầu của bài “Go To Statement Considered Harmful” (1968) mà Bài ấy Djikstra còn yêu cầu phải xóa sổ goto cơ, và cũng có giải thích rồi, ngoài việc nhảy linh tinh thì còn khó theo dõi các biến nữa.
Nguyên bản là “decreasing function” thì nên hiểu là “nghịch biến”
Djikstra đề nghị bỏ go to cũng là hợp lý. Bởi vì goto có thể thay thế bằng cách dùng if-else, while, do-while. Có những ngôn ngữ còn không có goto. Từ ngày không code C mình chưa bao giờ dùng go to cả
Thực sự
goto
(hay jmp các loại) vẫn có thể được dùng theo các hình mẫu (pattern) nhất định (đó là vào năm 1900 hồi đó nha), lúc này hướng cấu trúc manh nha hình thànhnhìn rộng hơn: http://www.intentsoft.com/feature_x_is_co/
Mình thì thấy trong linux dùng goto khá nhiều. Trong tài liệu coding style còn nêu ra một số lí do sử dụng lệnh goto: https://www.kernel.org/doc/html/v4.15/process/coding-style.html