views:

52

answers:

1

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)

+9  A: 

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.

stakx