Использование подчеркивания в именах классов - PullRequest
7 голосов
/ 07 января 2011

Безопасно ли использовать _ в именах классов?

Какая лучшая замена для . в именовании?(В настоящее время я использую _.)

Ответы [ 6 ]

9 голосов
/ 07 января 2011

Это безопасно делать это для одного подчеркивания за раз, хотя вы не должны использовать два последовательных подчеркивания. Из спецификации языка C #, раздел 2.4.2:

Идентификаторы, содержащие два последовательных символа подчеркивания (U + 005F), зарезервированы для использования реализацией. Например, реализация может предоставлять расширенные ключевые слова, которые начинаются с двух подчеркиваний.

Лично я все равно стараюсь избегать имен типов с подчеркиванием ... Хотя я не уверен, что вы подразумеваете под "заменой .". Если бы вы могли дать некоторый контекст, это помогло бы.

2 голосов
/ 07 августа 2014

Как уже упоминали другие, это безопасно.Тем не менее, от Microsoft *1001* Руководство по именованию классов гласит:

Не используйте символ подчеркивания (_).

Как упоминал Джон Скит, хорошая альтернативабудет заменить . на Dot.Например, класс, связанный с drive.google.com, может называться DriveDotGoogle.(Я думаю, что часть DotCom может быть опущена, чтобы не излишне удлинять имя.)

2 голосов
/ 07 января 2011

Для Имен классов я использую CamelCasing, а не _.Вы должны придерживаться одного стандарта, это особенно важно, если вы работаете над проектами с более чем одним человеком.Соглашение об именах должно быть единым для решения / организации

2 голосов
/ 07 января 2011

Да, это безопасно.

Вы никогда не должны даже считать, что имеет "."в имени класса.Я не могу представить, когда они придут.Возможно, если бы вы хотели назвать что-то «.NET», вы бы сделали с «DotNet».Имена классов должны быть краткими, и лично я никогда не использовал подчеркивание в одном.Я предпочитаю использовать верблюжий корпус

0 голосов
/ 07 января 2011

Похоже на ваш генерирующий код CSharp. В этом случае вы можете посмотреть следующую вспомогательную процедуру из сборки System.Design:

http://msdn.microsoft.com/en-us/library/ms145952.aspx

static string FixName(string givenName)
{
    return System.Resources.Tools.StronglyTypedResourceBuilder.VerifyResourceName(
        givenName, new Microsoft.CSharp.CSharpCodeProvider());
}
0 голосов
/ 07 января 2011

Безопасно использовать _ в именах классов, как и в случае с другими идентификаторами.

Зачем вам нужен логический . в именах классов?Можете привести пример?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...