Reputation: 32730
I usually add an m_
in front of private
fields and an s_
before static
members.
With a code like
protected static readonly Random s_Random = new Random ();
I get the following warnings by VS2008's Code Analysis:
CA1709
: Microsoft.Naming : Correct the casing of 's' in member name 'Bar.s_Random' by changing it to 'S'.CA1707
: Microsoft.Naming : Remove the underscores from member name 'Bar.s_Random'.How to resolve this issue? Should I simply remove the s_
? Or add a global suppression for this warning?
Edit: My company lacks coding standards, so it's up to me to define them for my code. (Yea I know...)
If you think s_
should be removed in general, I'd be glad if you could provide official sources.
Upvotes: 6
Views: 3404
Reputation: 11
Upvotes: 1
Reputation: 422280
You are not following Microsoft's .NET naming convention that tells you not to prefix stuff with anything. If this is really what you want, add a suppression. Otherwise, follow the guideline by getting rid of s_
and other similar prefixes.
From Names of Type Members:
"Names of Fields" Section: "Do not use a prefix for field names. For example, do not use g_ or s_ to distinguish static versus non-static fields."
Upvotes: 11
Reputation: 64658
Upvotes: 0
Reputation: 31232
It's up to you how you want to resolve it. Ignore it, and keep your own naming convention, or follow up the Microsoft standard. Personally, I do not use any prefix for my variables (so that would be 'random' instead of 's_Random' in this case) so I would go with the latter, but if you're really comfortable with this, then nobody forces you to change.
Upvotes: 0
Reputation: 46475
m_ is an old standard for naming. Newer conventions are to not follow this Hungarian notation.
Upvotes: 0
Reputation: 22378
Depends on what you want.
If your company policy is to prefix static members with s_ then you should suppress the warning and even add your own rule.
Otherwise fix it to Microsoft's standards and call your member Random
.
Upvotes: 0