官方风格指南的链接

时间:2010-03-12 16:39:37

标签: c++ coding-style

C ++有几种类型的风格:MFC,Boost,Google等。我想检查这些风格并确定哪一种最适合我的项目,但我想阅读官方风格指南。有没有人有他们通常使用的官方指南?

这是我发现的两个。我打赌还有更多:

注意:这不是关于哪种风格最好的讨论......只是要求人们当前使用的官方风格指南。请不要抨击你不喜欢的其他风格指南。

附带问题:是否有一个好的工具可以检查源代码并判断它是否与给定的样式指南相匹配?

9 个答案:

答案 0 :(得分:16)

本身不是编码指南,但我发现这非常有用:Bjarne Stroustrup's C++ Style and Technique FAQ

答案 1 :(得分:9)

没有“官方”风格指南这样的东西--C ++标准完全没有风格。有两本知识渊博的C ++小伙子关于这个主题的一本书是由{Sutter& Sons Alexandrescu的。

答案 2 :(得分:4)

我还在c ++中编写了一些好的编码技巧:      http://www.ivanism.com/Articles/CodingStandards.html

帖子以:

开头

编码标准的目标是提高代码的业务价值。最明显(也是最重要)的方法是使代码健壮且低缺陷。同样重要,但更微妙的目标包括降低编码器摩擦力和可维护性。因此,标准应该保持最小 - 足够简单以实际遵循,并且足够重要以便记住。

构建新的源文件时应使用这些标准。当需要更改现有文件时,这是将其提升到标准的适当时间。但是,编辑文件只是为了使其符合标准,这绝不是一个好时机。如果它没有坏掉,不要“修理它”并记住要始终“保持工作”。

你会注意到我没有涉及经典的“宗教”观点:

 tabs vs. spaces
 indentation style
 curly brace style
 etc...

文件中的一致性非常重要,可提高可读性。但允许编码员表达自己也很重要。因此,如果您编辑文件,要么符合该文件的宗教信仰,要么将整个文件转换为新的一致格式。如果你转换整个文件,你实际上是对它的所有权,所以要准备好成为首选人,或保持原样。

答案 3 :(得分:4)

另一种风格指南是The JSF air vehicle C++ coding standards

答案 4 :(得分:3)

C ++没有也不需要官方风格。许多组织对其贡献者施加风格指南,以试图保持某种企业的外观和感觉;其中一些包含了很好的建议片段,但是很多只是强迫你添加奇怪的装饰,这对20世纪80年代写一种完全不同语言的人来说似乎是一个好主意。

华夫饼中唯一真正有用的建议是:

  • 定义一种一致的方法来区分类型,对象和某些类型的函数(例如访问器和工厂),这样您就可以在不查看名称的情况下编写(例如)Thing thing = GetThing();
  • 不要使用下划线开始名称。在某些情况下这是被禁止的,并且它更简单,更易读,根本不用担心你何时可以。
  • 为那些必须在几年内阅读并维护代码的可怜的家伙(也许是你)做好准备。
  • 保持简单。
  • 使用你的大脑。

答案 5 :(得分:3)

其他答案表明没有官方风格指南,当时是正确的。

但在2015年,Bjarne Stroustrup announced the C++ Core Guidelines,一个开源项目,为现代C ++代码建立权威指南,由Stroustrup自己领导并由标准C ++基金会发布:

http://github.com/isocpp/CppCoreGuidelines

与此问题相关,核心指南也link to other guidelines,并附加了评论。关于经常推荐的Google C ++样式指南,他们说:

  

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

答案 6 :(得分:2)

我使用自己的风格,I have written up here。无论你是否对它作为一种风格感兴趣,如果你正在研究一般的风格,你可能会发现我对其有用的动机的讨论。

答案 7 :(得分:1)

对于附带问题:我个人并不知道任何分析使用样式的工具,但有些工具可以将源重新格式化为给定的样式指南。我想到的是Artistic Style

答案 8 :(得分:0)

至于附带问题,您需要的是静态分析工具。一个昂贵而庞大的工具是Klocwork。我已经在几家商店使用它,它可以设置为发出针对样式问题的警告。我不建议单个用户使用它;它更适合企业环境。虽然他们可能已经剥夺了个人的版本。

请记住Google使用静态分析工具。