C ++样式指南[关闭]


29

现在,我在C ++代码中使用了Google C ++样式指南,对此我感到非常满意。

最近有人告诉我,该指南非常糟糕:Google内部使用(我知道),该指南已经过时,并且推广了一些非常糟糕的做法。所以我想使用另一种编码风格。

有哪些良好且使用合理的C ++样式指南?我为gcc和Visual Studio编写代码,并且使用了许多C ++ 11功能。

我最喜欢Google C ++样式指南的是缩进,空格和命名约定(特别是所有类,类型(包括typedef,类型别名和模板别名)都以大写的首字母命名)。

我知道任何答案都是主观的(希望在此站点上可以),并且希望您提出任何意见,但我对最近使用的指南很感兴趣。


1
您可以始终使用自己喜欢的样式,然后在必须共享时将其重新格式化为首选样式。这是一个自动化此astyle.sourceforge.net
Reactgular 2014年

7
这个问题确实有可能成为基于意见的答案。我不会因为这个原因而关闭它,而是鼓励回答者关注事实,例如已知用途,当局的建议,比较研究等。
andy256 2014年

@ andy256我自己不能说的更好。
bolov 2014年

7
谁告诉您Google的风格不好,为什么他们的观点对您很重要?
Reactgular 2014年

@MathewFoscarini在这里进行了相当合理的近期讨论,尽管讨论不算太深: chat.stackoverflow.com/rooms/10/conversation/…(但是,深入讨论就像遍历FQA一样。 )
Cubbi 2014年

Answers:


15

您可以将本书中的指南用于一般用途:

http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586

来自Herb Sutter和Andrei Alexandrescu。虽然它没有考虑C ++ 11,但是我认为将会有一个新版本。

但是它不会回答有关空格数(而不是制表符)的问题,也不会回答您要实施哪种神秘的符号。但是,这些并不是最重要的事情,在大多数情况下,仅具有一定的一致性是关键。



8

对Google C ++样式指南的批评(我同意其中一些观点是有道理的)与Google的命名约定或缩进样式无关,而与它们的其他一些规则和政策有关。缩进/格式化和命名约定都只是一个问题,并且是无休止的程序员宗教战争的沃土,但是在C ++中,与C#不同,没有通用标准,唯一真正重要的准则是一致性。对于新项目,请选择您喜欢的命名约定和缩进样式并一致使用。对于现有项目,请遵守已经使用的约定。C ++编码标准中的规则0 是“不要费劲小事”。他们认为只要您保持命名惯例和缩进样式不那么重要

对我而言,生产力的最大推动力是使用clang-format自动执行缩进/格式化。一旦确定了一些缩进和格式设置规则,我强烈建议您设置一个自定义的.clang格式配置文件,然后不必再担心它了:-)

lang格式是一个独立的工具,不需要您将c用作编译器。甚至有一个适用于Visual Studio 的官方插件。


6

正如@ user113896之前所写,Bjarne Strostrup给了我们很多样式指导。他的杰出成就之一是JSF-C ++编码风格的书。当心,它不是用于常规的c ++,而是用于嵌入式用途的,但是它显示了应该如何做才能使其清晰和功能化。当然-您不必考虑所有内容-它是指南,而不是订单书:)。


2

如果您尚未阅读Bjarne Stroustrup的《编程和原理》,我强烈建议您阅读它,因为您可以从该语言的创建者那里学到很多东西。我已经看过C ++作者的大量文章,并且可以阅读到很多文章,我可以说他对样式有这种追求,并且总是告诉人们编写好的,漂亮的代码,据他说,该代码更容易调试和阅读。我相信他是编写时尚漂亮的C ++代码的最佳导师和最佳指南。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.