Guia de estilo para C ++ [fechado]

29

No momento, estou usando o Google C ++ Style Guide no meu código C ++ e fiquei muito feliz com isso.

Recentemente me disseram que este guia é muito ruim: é usado internamente pelo Google (eu sabia disso), está desatualizado e promove algumas práticas muito ruins. Então, eu quero usar outro estilo de codificação.

Que guias de estilo C ++, bons e bastante usados, existem? Eu escrevo código para o gcc e o Visual Studio e uso muitos dos recursos do C ++ 11.

O que eu mais gostei no Google C ++ Style Guide foi o recuo, o espaço em branco e as convenções de nomenclatura (nomeando especialmente todas as classes, tipos - incluindo typedefs, aliases de tipo e aliases de modelo - com letra maiúscula).

Sei que qualquer resposta é subjetiva (espero que esteja bem neste site) e gostaria de receber qualquer opinião, mas estou interessado em saber quais guias são usados ​​atualmente.

Bolov
fonte
1
Você sempre pode usar o estilo que desejar e reformatá-lo para o estilo preferido quando precisar compartilhá-lo. Aqui é um estilo formatador que automatiza esta astyle.sourceforge.net
Reactgular
7
Esta pergunta tem potencial para respostas baseadas em opiniões. Em vez de encerrá-lo por esse motivo, eu encorajaria os respondentes a se concentrarem em fatos, como usos conhecidos, recomendações das autoridades, estudos comparativos e similares.
andy256
@ andy256 Não poderia ter dito melhor.
bolov
7
Quem disse que o estilo do Google era ruim e por que a opinião deles é importante para você?
Reactgular
@MathewFoscarini, houve uma discussão razoavelmente recente aqui, apesar de não ser muito aprofundada: chat.stackoverflow.com/rooms/10/conversation/… (mas, passar por isso em profundidade é como passar pelo FQA )
Cubbi

Respostas:

15

Você pode usar as diretrizes deste livro para uso geral:

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

de Herb Sutter e Andrei Alexandrescu. Porém, ele não leva em consideração o C ++ 11, mas acho que haverá uma nova edição.

Mas não responderá sobre o número de espaço em vez de tabulações ou que tipo de notação esotérica você deseja aplicar. Mas isso não é a coisa mais importante, na maioria das vezes apenas para ter alguma consistência é a chave.

Nikko
fonte
22

As diretrizes principais do C ++ são um conjunto de diretrizes, regras e práticas recomendadas e comprovadas sobre codificação em C ++. Você pode encontrá-las aqui: https://github.com/isocpp/CppCoreGuidelines

Eles são escritos por, entre outros, Bjarne Stroustrup e Herb Sutter .

Alessandro Jacopson
fonte
1
Definitivamente melhor do que a solução da Nikko
whn
8

As críticas ao guia de estilo C ++ do Google (e eu concordo que algumas são justificadas) não são sobre as convenções de nomenclatura ou estilo de indentação do Google, mas sobre algumas de suas outras regras e políticas. As convenções de recuo / formatação e nomeação são uma questão de gosto e são terreno fértil para guerras religiosas de programadores sem fim, mas em C ++, onde, diferentemente do C #, não há um padrão universal, a única orientação realmente importante é a consistência. Para um novo projeto, escolha uma convenção de nomenclatura e o estilo de indentação desejado e use-o de forma consistente. Para um projeto existente, atenha-se à convenção já em uso. A regra 0 nos padrões de codificação do C ++ é "Não se preocupe". onde eles argumentam que as convenções de nomenclatura e o estilo de indentação não são tão importantes, desde que você "

Um grande aumento de produtividade para mim foi automatizar a indentação / formatação usando o formato clang . Depois de decidir algumas regras de recuo e formatação, recomendo configurar um arquivo de configuração personalizado no formato .clang e nunca ter que se preocupar com isso novamente :-)

O formato Clang é uma ferramenta independente e não exige que você esteja usando o clang como compilador. Existe até um plugin oficial disponível para o Visual Studio.

mattnewport
fonte
6

Como o @ user113896 escreveu anteriormente, Bjarne Strostrup nos deu muitas orientações de estilo. Uma de suas excelentes realizações é o livro de estilo JSF-C ++ Coding . Cuidado, não é para c ++ regular, é mais para uso incorporado, mas mostra como as coisas devem ser feitas para serem claras e funcionais. Claro - você não precisa levar tudo em consideração - é um guia, não um livro de pedidos :).

baderman
fonte
2

Se você não leu os Princípios e Programação de Bjarne Stroustrup, recomendo fortemente que você o leia, pois pode aprender muito com o criador do idioma. Eu assisti e li muito do autor do C ++ e posso dizer que ele tem essa fixação pelo estilo e está sempre dizendo às pessoas para escrever um código bom e bonito que, segundo ele, é mais fácil de depurar e ler. Acredito que ele seja o melhor tutor e o melhor guia para escrever códigos C ++ elegantes e elegantes.

user113896
fonte