by Michael S. Kaplan, published on 2008/01/16 10:16 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/01/16/7125002.aspx
Visual Studio Team System has many warnings that are interesting under the what are they thinking? category:
Or there are a whole bunch of other Naming Warnings in addition to these...
Some of these warnings are considered "breaking" and some of them are considered "critical warnings".
I haven't seen this strong of a push to control language since Newspeak, though this push isn't faring much better at controlling what developers do much more effectively than that push did at controlling what party members did in 1984....
This post brought to you by ≝ (U+225d, aka EQUAL TO BY DEFINITION)
Eusebio Rufian-Zilbermann on 16 Jan 2008 12:17 PM:
These warnings are probably coming from FxCop (or the same source that FxCop used).
FxCop is a great tool but I have found problems in the language checks that make it very tempting to turn off the spelling checks:
1) The default dictionaries are not good enough. The process of customizing the dictionaries and how they interact is unclear (e.g., you may add an acronym to the acronyms section but still get errors about incorrect spelling when using it)
2) There are resource items to which this detection does not apply (e.g., an rtf file embedded in the resources) but it isn't possible to turn off checking for that specific resource item (and unfortunately, there is a bug that makes FxCop hang if I exclude those messages and try to save the project)
I know. I could investigate these problem further, try different cases, submit a bug report and follow up the solution but I need to find 26 hour days first...
Kevin Daly on 16 Jan 2008 1:53 PM:
My main gripe with these is that they default to attempting to enforce defective American spelling.
That kind of cultural imperialism I can do without :-)
Dean Harding on 16 Jan 2008 3:26 PM:
I believe the "breaking" designation means that FIXING the problem is a breaking change, not that the problem itself is a breaking problem.
I don't know why they'd be "critical" however...
Asztal on 16 Jan 2008 6:29 PM:
It seems to me "Identifiers should differ by more than case" has a decent reason, though. But then again, I'm not sure what Visual Basic actually does when it sees two names which only differ by case.
David M. Kean on 16 Jan 2008 8:47 PM:
This is what happens when you productize a tool orginally designed for internal use.
We orginally didn't release the spelling rules for VS 2005, however, we had to for VS 2008 after customers continually questioned why they should upgrade to VS Code Analysis when the free FxCop had these rules (despite VS Code Analysis having a myriad of features over FxCop).
This also stems from the problem of our all our rules being on by default - something we're fixing in the next version. Today, however, you can always turn them off.
By-the-way, where does it say these warnings are critical? In VS, we don't expose the underlying FxCop 'Critical Warning', 'Critical Error', etc.
Michael S. Kaplan on 16 Jan 2008 9:31 PM:
That data may have just been an FxCop list, I guess (I think I did find it on one site, perhaps that was a typo?) -- though I guess the question of why they were critical there is an interesting one? :-)