【问题标题】:Coding standards for C++ and C# [closed]C++ 和 C# 的编码标准 [关闭]
【发布时间】:2012-03-28 17:28:43
【问题描述】:

我有一个相当理论的问题。我的公司有一个关于 C++ 相当广泛的工作标准(记录在案),但在涉及 C# 时几乎不存在,其中唯一的指令是编码标准应遵循 Microsoft 的 C# 样式指南。 MSDN 确实有指导方针,但这会导致我们公司代码中两种语言的代码之间存在相当大的差异。

以下是我们为 C++ 制定的一些编码标准(没什么新意):

  1. 类成员名称应以 m_ 开头并以驼峰形式继续,即bool m_isValid;

  2. 方法参数应以 _ 开头,即以驼峰形式继续 void Foo(bool _isValid);

  3. 局部变量是常规的驼峰式,即bool isValid;

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

现在谈到 C#... 通常的做法是所有三个的驼峰式大小写。它更难阅读,您必须将鼠标悬停在变量上或单击它才能知道它是哪一个。

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

谢谢...

【问题讨论】:

  • 你将如何选择正确的答案?
  • 本身并不是一个真正的编程问题,两种语言在风格和功能上存在差异,这使得统一标准充其量是困难的。把 Java 也混进去,你会很头疼的。
  • @MattH 我的猜测:谁同意他们的假设。因此,我猜为什么我们投票结束;)(当然,我知道你问你的问题是为了说明我们投票结束的原因)
  • 读长函数的问题通过写短函数来解决。
  • 投反对票?真的吗?与此类似的问题没有被否决。只是没有一个完全像这个。无论谁对这个问题投了反对票,我至少想知道为什么。谢谢。

标签: c# c++ coding-style


【解决方案1】:

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

绝对不是。我会关注normal conventions for C#。如果您尝试使某种语言的代码看起来像另一种语言的代码,那么您很可能也会开始使用该语言的惯用语......最后说的是带有 C++ 口音的 C#。

这使得读取长函数时代码非常易读

所以尽可能避免创建长方法...我非常很少发现使用相同约定的所有三种变量是一个问题 - 而长方法最终会很痛苦 使用任何约定。

【讨论】:

  • 我只需要接受 Jon Skeet 的回答。无法抗拒。不认真,这很有意义。 @Matt H,这就是我选择的方式:一个很好的论点。谢谢乔恩。
【解决方案2】:

我曾在不同的公司工作过,有些喜欢匈牙利符号,有些则不喜欢。编码风格更多的是见仁见智,所以我会做最适合您和您的团队喜欢的开发方式。

【讨论】:

  • 完全正确;这在很大程度上是一个见仁见智的问题。 (我的观点恰好匹配 - 并且部分由 - Jon Skeet 形成)。顺便说一句,这就是这个问题被关闭的一个重要原因。无论如何,为这个答案+1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2018-10-31
  • 2010-09-19
  • 1970-01-01
相关资源
最近更新 更多