Capitalization of an acronym that starts a parameter
Asked Answered
R

1

5

I have a variable that indicates the length of time the UI can be idle. I have elected to call this variable UITimer. I want to pass the variable into my classes constructor and then store it off in a local field.

What is the proper way to do the casing of this? We use the common convention of a parameter not being capitalized. So should I do this:

uITimer

or this?

uiTimer

Also, we do an underscore and lowercase first letter for our fields.

Should that be declared like this:

 private int _uITimer

or like this

 private int _uiTimer?

I think _uiTimer is the way to go (the other option seems lame) but I am interested to see if I am missing something.

Best answer would be a link to a doc that says that acronyms should all keep the same case in C# naming (or something like it)

Roee answered 21/6, 2010 at 18:17 Comment(0)
L
12

Microsoft's Framework Design Guidelines have the following to say on this topic:


3.1.2 Capitalizing acronyms

DO capitalize both characters of 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.


You've basically asked about the last of these three rules.

I personally would also opt for uiTimer, simply because uITimer looks less readable.

Lilah answered 21/6, 2010 at 18:18 Comment(2)
would you apply these rules to the acronyms B2B or A2Z? The second rule should probably apply in this case, but B2b or A2z looks very oddAvaricious
@Andronicus, I believe it's these cases where exceptions to the above guidelines will creep in. I would probably write B2B if it isn't followed by anything else, but B2b when something else follows, e.g. B2bFoo (in order to make word boundaries easily recognisable). But I'm not certain. -- Another good case where Microsoft themselves were unsure how to capitalize is ID vs. Id.Lilah

© 2022 - 2024 — McMap. All rights reserved.