Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.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+的编码标准+;和C#_C#_C++_Coding Style - Fatal编程技术网

C+的编码标准+;和C#

C+的编码标准+;和C#,c#,c++,coding-style,C#,C++,Coding Style,我有一个相当理论性的问题。我的公司有一个工作标准(文档化),它对于C++来说是相当广泛的,但在C语言中几乎不存在,唯一的指导是编码标准应该遵循微软的C语言风格指南。MSDN确实有指导原则,但这导致我们公司代码中两种语言的代码之间存在很大差异 下面是我们对C++的一些编码标准(没有什么新的注意事项): 类成员名称应以m_开头,并以驼峰形式继续,即bool m_有效 方法参数应以u即开始,并在camel casevoid Foo(bool是有效的)中继续 局部变量是常规的驼峰情况,即bool是有效的

我有一个相当理论性的问题。我的公司有一个工作标准(文档化),它对于C++来说是相当广泛的,但在C语言中几乎不存在,唯一的指导是编码标准应该遵循微软的C语言风格指南。MSDN确实有指导原则,但这导致我们公司代码中两种语言的代码之间存在很大差异

下面是我们对C++的一些编码标准(没有什么新的注意事项):

  • 类成员名称应以m_开头,并以驼峰形式继续,即
    bool m_有效

  • 方法参数应以u即开始,并在camel case
    void Foo(bool是有效的)中继续

  • 局部变量是常规的驼峰情况,即
    bool是有效的

  • 这使得读取长函数时的代码非常可读,因为您可以立即知道什么是成员、什么是参数以及什么是局部变量

    现在说到C#。。。通常情况下,这三种情况都是骆驼式的。它更难阅读,您必须将鼠标悬停在变量上或单击它以了解它是哪一个

    如果这是您的决定,您会对两种语言执行相同的编码标准吗?你会执行大多数相同的编码标准吗?或者你会采用不同的语言,不同的标准方法

    谢谢

    如果这是您的决定,您会对两种语言执行相同的编码标准吗

    绝对不是。我会跟着你走。如果您试图使语言中的代码看起来像另一种语言中的代码,您可能也会开始使用该语言中的习惯用法。。。最后用C++重音表示C,< /P> 这使得读取长函数时的代码非常可读


    因此,尽可能避免创建长方法。。。我很少发现让所有三种变量使用相同的约定是一个问题,而不管使用什么约定,冗长的方法最终都是痛苦的。

    我在不同的公司工作过,有些公司喜欢匈牙利符号,有些公司不喜欢。编码风格更多的是一个意见问题,所以我会做最适合您和您的团队发展的事情

    您将如何选择正确的答案?这本身并不是一个编程问题,两种语言在风格和功能上都有差异,这使得统一标准很难实现。把Java也加入进来,你会非常头疼。@MattH我猜:哪一个同意他们的假设。因此,我猜我们为什么投票关闭;)(当然,我知道你问问题是为了说明我们投票结束的原因)阅读长函数的问题可以通过编写短函数来解决。否决票?真正地类似的问题没有被否决。只是没有一个完全像这一个。不管是谁否决了这个问题,我至少想知道为什么。谢谢,没错;这在很大程度上是意见的问题。(我的观点恰好与乔恩·斯凯特的观点相吻合,部分原因是他)。顺便说一句,这是这个问题结束的一个重要原因+无论如何,对于这个答案,我只能接受乔恩·斯基特的答案。无法抗拒。不,说真的,这很有道理@马特H,这就是我的选择:一个很好的论点。谢谢你,乔恩。