You can watch StyleCop + . It contains flexible naming rules that allow you to force assignment of all private fields starting with "m_" (or whatever you wish) instead of disabling name checking (like you).
Regarding "d3dDevice", this is a very interesting case. Logically, it is divided into the following words - {"d", "3", "d", "Device"} or {"d3", "d", "Device"}. And the second "d" does not seem to follow "camelNotation".
But I strongly believe that static analysis (in particular, naming) should be flexible enough to meet the needs of users. StyleCop + can currently support your case as follows - for example, you can add an βexceptionβ (as many as you like) to the naming pattern for private fields so that it looks like this:
t _ $ (AABB)
m_d3d $ (AABB)
This is most likely a workaround, but I'll think about your "d3d" case, and maybe StyleCop + will support something like this.
Thanks for the interesting example!
Oleg Shuruev
source share