Earlier today I asked the question I know it's a bit of a religious debate, but control name prefixes (txt, lbl); useful practice or the devil's work? and was a little surprised by the result. Actually, what surprised me was the unanimous “devil’s work” response when I expected some balanced arguments!
What am I talking about? I’m talking about names that look like this:
<asp:Label runat="server" ID="lblFirstName" /> <asp:TextBox runat="server" ID="txtFirstName" />
And why am I talking about it? Because FxCop doesn’t like it very much:
The individual words that make up an identifier should not be abbreviated and should be spelled correctly.
Microsoft goes into more detail in rule CA1704 but the bottom line is simply that they believe names should be spelled correctly and abbreviations kind of play havoc with that.

