Неправильно ли использовать специальные символы в исходном коде C#, такие как "ñ"?

Недавно, используя C#, я просто объявил параметры метода, используя латинский символ ñ, и я попытался собрать (скомпилировать) все мое решение и оно работает, поэтому я смог выполнить мою программу. Но мне интересно узнать, неправильно ли использовать специальные символы, такие как латинские символы, в исходном коде, написанном на C#? Если неправильно, то почему?

Кроме того, что писать код на английском языке более разборчиво и универсально, есть ли другие причины не использовать специальные символы в исходном коде C#?

26
задан Rubens Mariuzzo 30 December 2013 в 21:03
поделиться

3 ответа

Позвольте мне разбить это на несколько вопросов.

Законно ли в соответствии со спецификацией использовать нелатинские буквы в идентификаторах C #, строках и т. Д.

Да, абсолютно. Любой символ, который спецификация Unicode классифицирует как букву, является допустимым. См. Спецификацию для точных деталей.

Есть ли технические проблемы, касающиеся нелатинских букв в программах на C #?

Да, есть несколько. Как вы, вероятно, знаете, вы можете «статически» и «динамически» связывать код в приложении, а компилятор - это приложение. В прошлом у нас были проблемы, когда у компилятора была статически связанная старая версия алгоритма классификации Unicode, а у редактора была текущая версия с динамической связью, и теперь редактор и компилятор могут не согласиться с тем, что является юридическим письмом, которое может вызвать замешательство пользователя. Однако упомянутые вами акцентированные латинские символы были в стандарте Unicode так долго, что вряд ли они вызовут какие-либо проблемы.

Более того, многие люди до сих пор используют старомодные редакторы; Я научился программировать в WATCOM еще в конце 1980-х годов и до сих пор часто использую WATCOM VI в качестве своего редактора. Иногда я могу писать код быстрее, чем в Visual Studio, потому что мои пальцы очень хорошо справляются с этим после 23 лет практики. (Хотя в настоящее время я использую Visual Studio практически для всего.) Очевидно, что редактор, написанный в 1980-х, будет иметь проблемы с Unicode.

Есть ли какие-либо нетехнические проблемы, связанные с нелатинскими буквами в программах на C #?

Очевидно, да. Лично я предпочел бы использовать греческие буквы для параметров универсального типа, например:

class List<τ> : IEnumerable<τ>

или при реализации математического кода:

degrees = 180.0 * radians / π;

Но я сопротивляюсь убеждению в уважении к моим коллегам, которые не хочу особо вырезать и вставлять или изучать тайные комбинации клавиш, просто чтобы редактировать мой код.

24
ответ дан 28 November 2019 в 07:31
поделиться

Пока он компилируется, я думаю, что нормально использовать то, что люди, говорящие по-английски, называют специальными символами. Я живу в Швеции, и здесь у нас есть символы ÅÄÖ, которых нет на английском языке. Многие люди используют ÅÄÖ в своих программах, чтобы написать программу, чтобы ее мог понять шведский разработчик. Иногда есть слова, которые не имеют хорошего перевода на английский, и тогда шведское слово является более объяснительным.

0
ответ дан 28 November 2019 в 07:31
поделиться

Играя дома, я часто называю Func параметры λ, потому что это забавляет меня.

Что касается кода, который увидит кто-нибудь, я бы не стал заставлять кого-то печатать более сложную работу только потому, что мне забавно использовать нелатинскую букву в данном случае. Это не место для таких развлечений.

Если бы у меня была совершенно нормальная латинская буква, такая как ñ, у меня не было бы никаких сомнений в ее использовании, если бы у меня была веская причина для использования заимствованного слова, в котором оно используется. Тем не менее, оно никогда не подходит. О единственном заимствованном слове с диакритическим знаком, которое я когда-либо использовал в кодировании, это façade , но его так долго использовали в вычислительном контексте и, следовательно, так часто можно увидеть в виде фасад , что я думаю о фасаде как о вычислительном слове, полученном из фасада во многом таким же образом, как я думаю о цвете как о вычислительном слове для цвета , несмотря на то, что последнее является орфографией, используемой в форме английского языка, которую я использую, и, следовательно, будет когда-либо использовать только фасад и цвет в письменном английском.

5
ответ дан 28 November 2019 в 07:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: