Как лучше всего называть частные и статические частные методы в C #? - PullRequest
9 голосов
/ 04 апреля 2009

Я пытаюсь выяснить, какой самый умный способ назвать частные методы и частные статические методы в C #.

Справочная информация: Я знаю, что лучшая практика для частных пользователей - это префикс подчеркивания + верблюд. Вы могли бы поспорить со мной об этом, но поверьте мне, я видел достаточно кода от профессионалов, которые следуют этому соглашению, это квалифицированный промышленный стандарт.

Я также знаю, что случай с Паскалем является отраслевым стандартом для публичных методов. Но я видел комбинацию именования в тестовом стиле (т. Е. Method_must_return_false_occasionally) с падкалом case, camelcase и underfore-prefix + camelcase для частных и частных статических методов.

Но каков лучший стиль практики для именования частных и частных статических методов в C #?

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

Спасибо за чтение.

Ответы [ 6 ]

16 голосов
/ 04 апреля 2009

Ознакомьтесь с Microsoft Руководства по именованию и Руководство по стилю Брэда Абрама

Говорят, что все методы должны быть PascalCase

public void DoWork() {}
private void StillDoWork() {}
private static void ContinueToDoWork() {}
6 голосов
/ 04 апреля 2009

в правилах именования для разработки библиотеки классов .NET не различают публичное и частное использование и рекомендуют Pascal для статических методов.

РЕДАКТИРОВАТЬ : Моя личная практика - использовать оболочку Паскаля для методов и свойств, оболочку верблюда для полей, параметров и локальных переменных. При обращении к членам экземпляра из класса я использую this., чтобы отличать их от членов класса и параметров при необходимости. Я понятия не имею, могу ли я квалифицироваться как «хардкорный профессионал», но мне платят. : -)

РЕДАКТИРОВАТЬ 2 : С момента написания этой статьи я сменил работу. Стандарт кодирования, которого мы придерживаемся, отличается от моих личных чувств, и мы делаем префикс частных полей с подчеркиванием. Я также начал использовать ReSharper, и наши стандарты (как правило) следуют правилам по умолчанию. Я нахожу, что могу легко жить с подчеркиванием. Я использую this только тогда, когда это абсолютно необходимо, поскольку оно не соответствует нашим стандартам кода. Последовательность превосходит личные предпочтения.

3 голосов
/ 04 апреля 2009

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

2 голосов
/ 04 апреля 2009

Соглашение weird_underscore_naming - это , обычно , ограниченное тестами, потому что оно делает их более читаемыми, и это то, что BDD активно поощряет. Помните, что, хотя метод кратко описывает, что он делает (DepositMoney), тесты должны описывать, что они делают, то есть Negative_deposits_must_be_caught

1 голос
/ 04 апреля 2009

В каждом месте, где я работал, всегда было по-другому.

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

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

Я бы начал смотреть на различные проекты с открытым исходным кодом и тому подобные проекты, и вы увидите большое разнообразие схем.

Я также видел, как подчеркиваются случаи использования camelCase и Pascal для разделения комитетов, а иногда и команд - что, я полагаю, является смыслом схемы кодирования.

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

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

1 голос
/ 04 апреля 2009

Один из вариантов - использовать инструмент, который заставляет вас быть последовательным, например, стиль полицейского (если вы используете reSharper , то есть плагин для стиля полицейского в codeplex ). Кажется, что большинство инструментов обеспечивают (рекомендуют) руководящие принципы Microsoft, поскольку они проходят через некоторые тесты для получения одобрения вашего кода платформой MS.

...