Regarding C# naming for acronyms, if I was writing a library related to the Windows API is there any strong convention toward either WindowsApi or WindowsAPI or is it just p
It's all just personal (or organizational) preference. As long as you're consistent, you'll be ok.
The .NET Framework itself would use WindowsApi.
Its personal preference. But .NET would use WindowsApi
. It is akin to the naming of TcpClient
.
Take a look at FxCop too. It's a nice utility that will help with issues like this.
"Framework Design Guidelines" 2nd edition by Krzysztof Cwalina and Brad Abrams pp.40-42
3.1.2 Capitalizing Acronyms
DO capitalize both characters on two-character acronyms, except the first word of a camel-cased identifier.
System.IO
public void StartIO(Stream ioStream)
DO capitalize only the first character of acronyms with three or more characters, except the first word of a camel-cased identifier.
System.Xml
public void ProcessHtmlTag(string htmlTag)
DO NOT capitalize any of the characters of any acronyms, whatever their length, at the beginning of a camel-cased identifier.
Old question, new answer.
According to .NET 4 Capitalization Rules for Acronyms:
Do capitalize both characters of two-character acronyms, except the first word of a camel-cased identifier.
A property named
DBRate
is an example of a short acronym (DB
) used as the first word of a Pascal-cased identifier. A parameter namedioChannel
is an example of a short acronym (IO
) used as the first word of a camel-cased identifier.Do capitalize only the first character of acronyms with three or more characters, except the first word of a camel-cased identifier.
A class named
XmlWriter
is an example of a long acronym used as the first word of a Pascal-cased identifier. A parameter namedhtmlReader
is an example of a long acronym used as the first word of a camel-cased identifier.Do not capitalize any of the characters of any acronyms, whatever their length, at the beginning of a camel-cased identifier.
A parameter named
xmlStream
is an example of a long acronym (xml
) used as the first word of a camel-cased identifier. A parameter nameddbServerName
is an example of a short acronym (db
) used as the first word of a camel-cased identifier.
I've heard that you should avoid abbreviations, so it would become WindowsApplicationProgrammingInterface
, then.
More seriously (folks seem to be mis-reading the above, despite the quote below), this page says:
Any acronyms of three or more letters should be Pascal case, not all caps.
Since API is considered a well-known acronym, the name WindowsApi
is the one to pick if you want to follow the guidelines.