Nhiều khi tạo tin nhắn để hiển thị cho người dùng, tin nhắn sẽ chứa một số điều mà tôi muốn thông báo cho khách hàng.
Tôi sẽ đưa ra một ví dụ: Khách hàng đã chọn một số mục từ 1 trở lên và đã nhấp vào xóa. Bây giờ tôi muốn đưa ra một thông báo xác nhận cho khách hàng và tôi muốn đề cập đến số lượng mục mà anh ấy đã chọn để giảm thiểu khả năng anh ấy mắc lỗi bằng cách chọn một loạt các mục và nhấp vào xóa khi anh ấy chỉ muốn xóa một trong số chúng.
Một cách là tạo thông điệp chung chung như sau:
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " item(s). Are you sure you want to delete it/them?";
"Vấn đề" ở đây là trường hợp noofitemselected
là 1, và chúng ta phải viết mục và nó thay vì các mục và chúng .
Giải pháp bình thường của tôi sẽ như thế này
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " " + (noofitemsselected==1?"item" : "items") + ". Are you sure you want to delete " + (noofitemsselected==1?"it" : "them") + "?";
Quá trình này diễn ra khá dài và khá nhanh nếu có nhiều tham chiếu đến các số bên trong mã và thông báo thực tế sẽ khó đọc.
Vì vậy, câu hỏi của tôi chỉ đơn giản. Có cách nào tốt hơn để tạo các tin nhắn như thế này không?
BIÊN TẬP
Tôi thấy nhiều người đã rất bối rối trong trường hợp mà tôi đã đề cập rằng thông báo nên được hiển thị bên trong hộp tin nhắn và chỉ đơn giản là đưa ra câu trả lời về cách tránh sử dụng hộp tin nhắn, và điều đó là tốt .
Nhưng hãy nhớ rằng vấn đề đa dạng hóa cũng áp dụng cho các văn bản ở những vị trí khác trong chương trình ngoài hộp tin nhắn. Ví dụ: một nhãn dọc theo lưới hiển thị số dòng được chọn trong lưới sẽ có cùng một vấn đề liên quan đến đa dạng hóa.
Vì vậy, điều này về cơ bản áp dụng cho hầu hết văn bản được xuất ra theo một cách nào đó từ các chương trình, và sau đó giải pháp không đơn giản là chỉ cần thay đổi chương trình để không xuất văn bản nữa :)