Added bit đầu tiên này dựa trên nhận xét:
này không trả lời câu hỏi ... Các OP không hỏi cho dù đó là phép (rõ ràng nó là), nhưng cho dù đó là sai - Thomas Levesque
Ok, hãy để tôi giải quyết nó trực tiếp hơn:
nó là sai lầm khi sử dụng ký tự đặc biệt như các ký tự Latinh trong một mã nguồn được viết bằng C#? Nếu nó sai, tại sao?
Theo định nghĩa của đặc điểm kỹ thuật, nó không phải là "sai" (xem bên dưới).
Bên cạnh đó là dễ đọc hơn và phổ quát để viết mã bằng tiếng Anh, là có bất kỳ lý do nào khác không sử dụng ký tự đặc biệt trong một nguồn C# mã?
Vì bạn đã nói "Bên cạnh", tôi sẽ không giải quyết các chủ đề về tính dễ đọc cũng như "phổ quát" (thích hợp cho câu hỏi StackOverflow). Về phần khác của bạn: "có lý do nào khác để không sử dụng các ký tự đặc biệt" ... Vì tôi bỏ qua những điều đầu tiên bạn đã đề cập, tôi phải nói rằng tôi không thể nghĩ nhiều. Điều duy nhất tôi có thể nghĩ đến là; Chúng tôi vẫn gặp vấn đề với một số công cụ hỗ trợ Unicode ngày nay (các công cụ của bên thứ ba thương hiệu, chủ yếu) có thể là bạn sử dụng một số công cụ lập dị không xử lý chính xác unicode, hoặc không phù hợp với thông số C# - nhưng tôi đã không gặp bất kỳ điều gì. Vì vậy, tôi muốn nói không. (Hãy nhớ rằng bạn đặc biệt nói rằng tôi không phải giải quyết các chủ đề về tính dễ đọc hoặc phổ quát).
Từ C# ECMA Specification Trang 70:
Các quy tắc để định danh cho trong mục này tương ứng chính xác với những khuyến cáo của Unicode chuẩn Phụ lục 15 trừ đó gạch được phép như một nhân vật ban đầu (như là truyền thống trong ngôn ngữ lập trình C), các chuỗi thoát Unicode được phép trong số nhận dạng và ký tự “@” được phép làm tiền tố để bật các từ khóa .
identifier::
available-identifier
@ identifier-or-keyword
available-identifier::
An identifier-or-keyword that is not a keyword
identifier-or-keyword::
identifier-start-character
identifier-part-charactersopt
identifier-start-character::
letter-character
_ (the underscore character U+005F)
identifier-part-characters::
identifier-part-character
identifier-part-characters
identifier-part-character
identifier-part-character::
letter-character
decimal-digit-character
connecting-character
combining-character
formatting-character
letter-character::
A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl
A unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl
Các bit quan trọng có gì spec định nghĩa một letter-character
như.
Nó đặc biệt bao gồm: A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl
Nhân vật bạn đề cập (ñ unicode reference) thuộc thể loại "Lu" (Letter, Uppercase) được đặc biệt cho phép bởi các đặc điểm kỹ thuật trong một định danh.
Tôi đặt cược mã nguồn trên toàn thế giới đầy với các chú thích được viết bằng ngôn ngữ mẹ đẻ của người lập trình. Vì vậy, không, không thể thấy điều này có thể sai. –
liên quan: http://programmers.stackexchange.com/questions/1483/do-people-in-non-english-speaking-countries-code-in-english – naveen
Nhưng, * bên cạnh nhận xét *, ** tên thành viên thì sao ** chẳng hạn như phương pháp, đối số, v.v ...? –