Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WinRT中字段的正确命名约定是什么_C#_C++_Oop_Windows Runtime - Fatal编程技术网

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

C# WinRT中字段的正确命名约定是什么,c#,c++,oop,windows-runtime,C#,C++,Oop,Windows Runtime,作为一名使用C#的.Net开发人员,多年来,我对WinRT中使用的命名约定有点“困惑” 在C++中,规则很简单:“想做什么就做什么!” 在AFAIK的.Net平台上的C#中,规则更为人为: 对于受保护的字段:camelCase > 私下字段:C++规则> >代码>“做任何你想做的事!” < /P> 通常我观察到两种行为: 高级开发人员使用MFC、Win32、COM。。。使用了\u camelCase,有时使用m\u camelCase,第一个可能直接来自第二个 年轻的开发人员和许多最近

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

C++中,规则很简单:
“想做什么就做什么!”

在AFAIK的.Net平台上的C#中,规则更为人为:

  • 对于受保护的字段:
    camelCase

  • <> > <代码>私下<代码>字段:C++规则> >代码>“做任何你想做的事!”<代码> < /P>
通常我观察到两种行为:

  • 高级开发人员使用MFC、Win32、COM。。。使用了
    \u camelCase
    ,有时使用
    m\u camelCase
    ,第一个可能直接来自第二个

  • 年轻的开发人员和许多最近的资源(教程、视频、书籍等)都符合受保护字段的命名规则:
    camelCase

但是对于
WinRT
,我在很多参考资料中都看到了一个新的私有字段约定:
\u CamelCase

对我来说,命名约定更特定于语言而不是底层平台,因此根据目标平台(.NetWinRT)编写不同的C代码似乎有点奇怪


因此,是否有一些官方或社区的指导方针,或者我是否应该应用古老的规则“想做什么就做什么”?

这个问题毫无意义。WinRT是一种被多种语言使用的api。它的核心是基于COM的,只支持接口。您在编程语言中看到的内容会被语言投影严重过滤掉。对于托管代码,投影由.NET运行时提供。对于Javascript,该项目由Chakra引擎提供。对于C++,它既可以是WRL,也可以是C++ +CX语言扩展。 语言投影所做的最重要的事情是提供WinRT实际上不支持的特性。比如异常、泛型、方法重载和继承。因此,编写COM代码变得更容易使用,从来都不是很流行

命名约定是驼峰式的,就像winapi一样,不包括匈牙利语系统。Javascript是值得注意的,language projection努力用小写的第一个字母重命名标识符。按照该语言程序员的要求

但字段的名称并不重要。接口不支持字段,只支持属性。只有实现接口的实际类才能使用字段。这是一个纯粹的实现细节,就像在COM中一样,从外部永远看不到类本身。在.NET中得到加强,例如要求必须密封公共类


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

这个问题没有什么意义。WinRT是一种被多种语言使用的api。它的核心是基于COM的,只支持接口。您在编程语言中看到的内容会被语言投影严重过滤掉。对于托管代码,投影由.NET运行时提供。对于Javascript,该项目由Chakra引擎提供。对于C++,它既可以是WRL,也可以是C++ +CX语言扩展。 语言投影所做的最重要的事情是提供WinRT实际上不支持的特性。比如异常、泛型、方法重载和继承。因此,编写COM代码变得更容易使用,从来都不是很流行

命名约定是驼峰式的,就像winapi一样,不包括匈牙利语系统。Javascript是值得注意的,language projection努力用小写的第一个字母重命名标识符。按照该语言程序员的要求

但字段的名称并不重要。接口不支持字段,只支持属性。只有实现接口的实际类才能使用字段。这是一个纯粹的实现细节,就像在COM中一样,从外部永远看不到类本身。在.NET中得到加强,例如要求必须密封公共类


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

这个问题没有什么意义。WinRT是一种被多种语言使用的api。它的核心是基于COM的,只支持接口。您在编程语言中看到的内容会被语言投影严重过滤掉。对于托管代码,投影由.NET运行时提供。对于Javascript,该项目由Chakra引擎提供。对于C++,它既可以是WRL,也可以是C++ +CX语言扩展。 语言投影所做的最重要的事情是提供WinRT实际上不支持的特性。比如异常、泛型、方法重载和继承。因此,编写COM代码变得更容易使用,从来都不是很流行

命名约定是驼峰式的,就像winapi一样,不包括匈牙利语系统。Javascript是值得注意的,language projection努力用小写的第一个字母重命名标识符。按照该语言程序员的要求

但字段的名称并不重要。接口不支持字段,只支持属性。只有实现接口的实际类才能使用字段。这是一个纯粹的实现细节,就像在COM中一样,从外部永远看不到类本身。在.NET中得到加强,例如要求必须密封公共类