C++和C编码标准#

问题描述:

我有一个相当理论上的问题。我的公司有一个工作标准(记录),对于C++来说相当广泛,但在涉及到C#时几乎不存在,其中唯一的指令是编码标准应遵循微软针对C#的风格指南。 MSDN确实有指导原则,但是这会在我们公司的代码中导致两种语言的代码有相当大的差异。C++和C编码标准#

这里有几个编码标准,我们有C++(没有什么新的头脑你):

  1. 类成员名称应该开始与M_和骆驼的情况下,请即bool m_isValid;

  2. 方法PARAMS应该以_e开头,继续骆驼案例void Foo(bool _isValid);

  3. 局部变量是常规骆驼案例,即bool isValid;

由于您立即知道什么是成员,什么是参数以及什么是局部变量,这使得读取长整型函数时读取的代码非常易读。

现在谈到C#......通常的做法是所有三种情况。阅读起来要困难得多,你必须将鼠标悬停在变量上,或者点击它来知道它是哪一个。

如果您的决定在哪里,您是否会强制执行两种语言的相同编码标准?你会执行大部分相同的编码标准吗?或者你会用不同的语言采用不同的标准方法?

谢谢...

+0

您将如何选择正确答案? – Matt 2012-03-28 17:31:28

+1

本身并不是真正的编程问题,两种语言在风格和功能上都有差异,使得统一标准最适合。抛出Java也会让你头痛不已。 – 2012-03-28 17:31:43

+0

@MattH我的猜测:哪一个人同意他们的假设。因此,为什么我们投票结束,我猜测;)(当然,我知道你是在问你的问题,以说明我们的选票结束的原因) – 2012-03-28 17:33:35

如果在您的决定,你会执行两种语言相同的编码标准?

绝对不是。我会按照normal conventions for C#。如果您尝试使语言中的代码看起来像另一种语言中的代码,那么您可能也会开始使用该语言的习语......并最终以C++口音说出C#。

阅读长功能

所以只要有可能,避免产生长方法这使得非常可读的代码......我非常很少发现一个问题使用有所有这三种变量相同的约定 - 而长的方法最终是痛苦的无论使用什么惯例。

+0

我只是不得不接受Jon Skeet的回答。无法抗拒。没有认真,这很有意义。 @马特H,这就是我的选择:一个很好的论点。谢谢乔恩。 – sprite 2012-03-28 21:09:22

我在不同的公司工作,有的像匈牙利表示法和一些不。编码风格更多的是一个意见问题,所以我会做什么最适合你和你的团队如何发展。

+0

没错;这主要是一个意见问题。 (我的意见恰巧匹配 - 并且部分由Jon Skeet组成)。顺便说一句,这是解决这个问题的一个重要原因。无论如何,这个答案+1。 – 2012-03-28 17:36:57