WinRT中字段的正确命名约定是什么

时间:2014-09-07 17:44:56

标签: c# c++ oop windows-runtime

作为 .Net 开发人员使用 C#多年来,我对中使用的一些命名约定感到有些“困惑” > 字段的WinRT

C ++ 中,规则很简单:"do whatever you want!"

.Net 平台AFAIK的 C#中,规则有点做作:

  • protected字段:camelCase

  • private字段:C ++ rule => "do whatever you want!"

一般来说,我观察过两种行为:

  • 高级开发人员习惯使用MFC,Win32,COM ...使用_camelCase,有时使用m_camelCase,可能是第一个直接来自第二个

  • 年轻的开发人员和许多最近的资源(教程,视频,书籍......)与受保护字段的命名规则一致:camelCase

但对于WinRT我已经在很多资源中观察到私有字段的新约定:_CamelCase

对我而言,命名约定对语言而言比对底层平台更具体,因此根据目标平台( .Net WinRT )编写不同的C#代码)似乎有点奇怪。

那么是否有一些官方或社区准则,或者我应该使用旧的"do whatever you want!"旧规则?

1 个答案:

答案 0 :(得分:3)

这个问题没什么意义。 WinRT是许多语言使用的api。它的核心是基于COM,仅支持接口。您在编程语言中看到的内容被语言投影大量过滤。对于托管代码,投影由.NET运行时提供。对于Javascript,项目由Chakra引擎提供。对于C ++,它是WRL或C ++ / CX语言扩展。

语言投影最重要的是提供WinRT实际上不支持的功能。像异常,泛型,方法重载和继承。因此,使用 lot 更容易使用,编写COM代码从未如此受欢迎。

命名约定是驼峰式的,就像它们用于winapi一样,减去匈牙利语系统。 Javascript值得注意,语言投影会使用小写的第一个字母来重命名标识符。正如那种语言的程序员所要求的那样。

但是田野的名字并不重要。接口不支持字段,仅支持属性。只有实现接口的实际类才能使用字段。这是一个纯粹的实现细节,因为它在COM中,类本身永远不会从外部观察到。在.NET中重新强制,例如要求公共类必须密封

因此,您只需选择编写类的语言中常见的命名约定。或者,更重要的是,无论你的队友都同意作为小组的标准。