Анализ кода C # не любит защищенный статический s_Foo (CA1709, CA1707) - PullRequest
4 голосов
/ 27 апреля 2009

Я обычно добавляю m_ перед private полями и s_ перед static членами.

С кодом типа

protected static readonly Random s_Random = new Random ();

Я получаю следующие предупреждения от анализа кода VS2008:

  • CA1709: Microsoft.Naming: исправьте регистр 's' в имени члена 'Bar.s_Random', изменив его на 'S'.
  • CA1707: Microsoft.Naming: убрать подчеркивание из имени элемента 'Bar.s_Random'.

Как решить эту проблему? Должен ли я просто удалить s_? Или добавить глобальное подавление для этого предупреждения?

Редактировать: В моей компании отсутствуют стандарты кодирования, поэтому я должен определить их для своего кода. (Да, я знаю ...)

Если вы считаете, что s_ следует вообще удалить, я был бы рад, если бы вы предоставили официальные источники.

Ответы [ 5 ]

10 голосов
/ 27 апреля 2009

Вы не соблюдаете соглашение Microsoft о присвоении имен .NET, которое запрещает добавлять префиксы к чему-либо. Если это действительно то, что вы хотите, добавьте подавление. В противном случае следуйте указаниям, избавившись от s_ и других подобных префиксов.

С Имена членов типа :
Раздел «Имена полей»: «Не используйте префикс для имен полей. Например, не используйте g_ или s_ для различения статических и нестатических полей».

0 голосов
/ 27 апреля 2009
  • CA1709: защищенный не является частным и должен быть в верхнем регистре
  • CA1707: подчеркивания не соответствуют соглашению об именах MS
0 голосов
/ 27 апреля 2009

Вам решать, как вы хотите решить эту проблему. Игнорируйте его и соблюдайте собственное соглашение об именах или следуйте стандарту Microsoft. Лично я не использую префикс для моих переменных (так что в данном случае это будет «random» вместо «s_Random»), поэтому я бы выбрал последний, но если вам это действительно удобно, то никто не заставляет изменить.

0 голосов
/ 27 апреля 2009

m_ - это старый стандарт именования. Новые соглашения не должны следовать этой венгерской нотации.

0 голосов
/ 27 апреля 2009

Зависит от того, что вы хотите.

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

В противном случае исправьте его в соответствии со стандартами Microsoft и позвоните своему члену Random.

...