What benefit does #define offer when dealing with magic values in code?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "It improves code portability". Giá trị thần bí nằm rải rác trong mã là nguồn lỗi khi phải chuyển chương trình sang môi trường khác; đặt tên cho nó bằng #define thì mọi nơi dùng chung một chỗ sửa, nên khi kích thước bộ đệm hay giới hạn của một kiểu thay đổi theo máy, chỉ cần sửa một dòng là cả chương trình thích ứng. "It makes the code shorter" sai vì tên có nghĩa thường dài hơn con số nó thay; lợi ích nằm ở chỗ dễ đọc và sửa một nơi, không ở số ký tự. "It prevents the use of symbolic names" sai ngược hẳn, bởi #define chính là công cụ tạo ra tên tượng trưng. "It increases code complexity" sai vì thay con số vô nghĩa bằng tên nói rõ ý làm mã dễ hiểu hơn, độ phức tạp giảm chứ không tăng.
Cùng phần 2
Xuất hiện trong 2 bộ đề
Đi tiếp từ đây