官方风格指南链接

40

C++有几种风格:MFC、Boost、Google等。我想研究这些风格,并确定哪种最适合我的项目,但我想从官方样式指南中阅读,有没有人有官方指南可以分享?

以下是我发现的两个链接,可能还有其他的:

注意:这不是关于哪种风格最好的讨论...只是一个呼吁使用官方样式指南的人。请勿攻击您不喜欢的其他样式指南。

附加问题:是否有好的工具可以检查源代码并告诉它是否符合给定的样式指南?


5
我很喜欢stackoverflow自相矛盾的感觉。这个帖子被关闭了,理由是“不在讨论范围内”,但是那个C++书籍主题却有成千上万的赞:https://dev59.com/_3RC5IYBdhLWcg3wK9yV - JohnJohn
9个回答

17

9

关于C++代码风格,C++标准并没有明确规定“官方”指南。Sutter和Alexandrescu合著的一本书《C++编程规范》可能是比较权威的参考资料。


5

其他回答表示没有官方的风格指南,这在当时是正确的。

但是在2015年,Bjarne Stroustrup 宣布了C++核心准则,这是一个开源项目,旨在建立现代C++代码的权威指南,由Stroustrup本人领导,并由标准C++基金会发布:

http://github.com/isocpp/CppCoreGuidelines

关于这个问题,核心指南还链接到其他指南,并添加了评论。关于经常推荐的Google C++风格指南,他们说:

针对C++03和(也是)旧代码库。 Google专家现在正在积极合作,帮助改进这些指南,并希望合并努力,以便这些指南可以成为一个现代化的通用集合,他们也可以推荐。


4
我还写了一些关于C++良好编码的技巧: http://www.ivanism.com/Articles/CodingStandards.html 这篇文章开头是这样说的:
编码规范的目标是提高代码的商业价值。最明显(也是最重要)的方法是使代码强大且低缺陷。同样重要但更微妙的目标包括减少编码人员之间的摩擦和可维护性。因此,标准应该保持最小化——足够简单以实际遵循,但又足够重要以记住。
在构建新源文件时应使用这些标准。当需要更改现有文件时,这是将其提升到标准的适当时间。然而,仅为了符合标准而编辑文件永远不是一个好时间。如果它没坏,就不要“修复它”,并始终记得“保持工作状态”。
您会注意到我没有触及经典的“宗教”观点:
 tabs vs. spaces
 indentation style
 curly brace style
 etc...

文件内的一致性很重要,可以提高可读性。但是允许程序员表达自己也很重要。因此,如果你编辑一个文件,要么遵循该文件的规范,要么将整个文件转换为新的一致格式。如果你转换整个文件,实际上就拥有了它,所以要准备好成为主要联系人,或者保持原样。


3

C++没有官方的编码风格,也不需要。许多组织会向贡献者强制执行编码风格指南,以尝试保持某种公司的外观和感觉;其中一些包含了一些好的建议,但许多只是强制你添加一些奇怪的装饰,这些装饰在1980年代写完全不同的语言时似乎是个好主意。

在废话中唯一真正有用的建议是:

  • 定义一种一致的方式来区分类型、对象和某些种类的函数(例如访问器和工厂),这样你就知道要写(例如)Thing thing = GetThing();而不必查找名称。
  • 不要以下划线开头命名。在某些情况下,这是被禁止的,而且不这样做比担心何时可以更简单和更易读。
  • 为那些在几年后阅读和维护代码的可怜家伙(也许是你自己)考虑。
  • 保持简单。
  • 动动脑子。

3

2

我使用自己的风格,这里有我写的文章。无论你是否对它作为一种风格感兴趣,如果你正在研究代码风格,你可能会发现我对它的动机的讨论很有用。


1
关于旁边的问题:我个人不知道任何分析使用风格的工具,但有一些工具可以按照给定的样式指南重新格式化源代码。其中一个我想到的是艺术风格

0
关于副问题,您需要的是一个静态分析工具。一款昂贵而庞大的工具是Klocwork。我在几家公司使用过它,可以设置警告来解决样式问题。我不建议单个用户使用它;它更适用于企业环境。虽然他们可能为个人提供简化版本。
记得在谷歌上搜索静态分析工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接