Правильное именование имущества - PullRequest
0 голосов
/ 03 марта 2011

Как правильно назвать мое свойство "[Nn] ame" в выдуманном примере ниже?Кажется, что все в .NET - это какая-то форма случая Паскаля.Будет ли считаться «плохой формой» использование верблюжьей фамилии для имен свойств?Я прочитал инструкции MS по именованию , и они говорят, что нужно использовать регистр Паскаля.Я действительно ненавижу дело Паскаля, и кажется, что это ВСЕ так.

Что является общепринятым стандартом (это просто руководство по MS) или это не имеет значения?Мне плохо, если я использую здесь верблюжий чемодан?TIA.

using System;

namespace Properties {
  class Program {
    static void Main() {

      var tester = new Tester();
      tester.Name = "jmquigley";
      tester.name = "another jmquigley";

      tester.Show();
    }
  }

  class Employee {
    public string Name { get; set; }
    public string name { get; set; }

    public void Show() {
      Console.WriteLine("Name = {0}", Name);
      Console.WriteLine("name = {0}", name);
    }
  }

  class Tester : Employee {
  }
}

ПРИМЕЧАНИЕ. Я использовал здесь только наследование, чтобы посмотреть, как обрабатывается свойство при его использовании (чтобы увидеть, все ли работает как поле).

Ответы [ 9 ]

3 голосов
/ 03 марта 2011

Что является общепринятым стандартом (это просто руководство по MS)

Да, общепринятым стандартом являются руководящие принципы Microsoft.

или это не имеет значения?

Ваш код будет работать нормально, не следуя инструкциям, но я бы следовал соглашениям, если:

  • Вы являетесь частью команды
  • Вы создаете код для работодателя
  • Вы создаете код с открытым исходным кодом
  • Вы хотите, чтобы можно было легче читать код других пользователей в Интернете.
  • Вы хотите сделать что-либо из перечисленного в будущем
3 голосов
/ 03 марта 2011

Рекомендации Microsoft используются в .Net Framework и поддерживаются такими инструментами, как StyleCop, FXCop и ReSharper. Использование верблюда для свойств вместо полей просто запутает большинство разработчиков C #, которые ожидают обратного.

1 голос
/ 03 марта 2011

Общепринятым стандартом является случай Паскаля.

Есть множество руководств по этому вопросу:

  1. Microsoft Naming Guidlines
  2. Стандарты кодирования IDesign C #
  3. Стандарт кодирования Phillips C #
  4. Руководство по стилю кодирования C #
  5. Спецификация CLS

Я бы порекомендовал вам следовать руководству по делу Pascal, если существует любая вероятность того, что ваш код будет виден кому-либо еще.

0 голосов
/ 03 марта 2011

Что ж, то, как я видел это в дикой природе, это свойства, как правило, дело Паскаля.Кейс Pascal, как правило, используется для свойств, методов и классов.

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

0 голосов
/ 03 марта 2011

Стандартным способом является Pascal Case для Properties и верблюжий чехол с подчеркиванием для полей.

public string Name { get; }
private string _name;
0 голосов
/ 03 марта 2011

Pascal case является доминирующим в мире .NET.

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

Кроме того, если вы работаете в составе более крупной команды или если какой-то другой программист может нуждаться в поддержке вашего кода вбудущее, это еще одна веская причина для соответствия статус-кво.

0 голосов
/ 03 марта 2011

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

Кроме того, любая работа, которую вы получаете в программировании на C #, вероятно, также потребует от вас использования заглавных букв.

0 голосов
/ 03 марта 2011

Замечательно, что в стандартах есть так много выбора.

Честно говоря, это не имеет большого значения.Если бы у вас был ReSharper, его настройкой по умолчанию было бы PascalCase свойство Name, потому что это открытое свойство.

0 голосов
/ 03 марта 2011

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

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