我的导师说明变量& vb.net的对象命名约定已更改。从使用缩短的前缀作为变量名称,例如btnFoo
或intFoo
(因为我记得以来)到更长,更详细的& “CamelCase”后缀版FooButton
或FooInteger
。
我一直在浏览.Net参考页面&论坛,似乎无法找到有关公约变更的任何证据。有人知道有变化吗?
答案 0 :(得分:3)
早期的Visual Basic命名建议基于“匈牙利系统”。微软甚至published a list推荐的前缀,非常值得注意的是组件供应商的名称甚至包含在前缀中。像“cbos”一样,由Sheridan发布的自定义ComboBox控件,而不是“先生”发布的“cbop”。
匈牙利体制一直备受争议,有着丰富的历史,无法跟上变化。 winapi中的命名约定是good example。很明显,包含工具供应商名称的方案无法扩展到未来,Visual Basic推出了一个拥有数百控制供应商的生态系统。没有希望永远使用的公约不是一个有用的惯例。
所以是的,这完全被.NET掉了。 CamelCase在框架中成千上万的标识符名称中始终使用 very ,它一直非常有效。规则在naming guidelines中详细说明。
请记住,这只是一个指南,您当然不需要遵循它们。团队内部使用的约定始终胜过软件供应商认为有用的任何内容。这并不是说他们有正确的记录:)
答案 1 :(得分:1)
这些出现在2005年首次出版的Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries书中 - 有relevant excerpts on MSDN。这些设置为弃用匈牙利表示法,因为.Net框架中的公开名称为got misused over the years。