Pergunta

A seguir foram propostas para uma futura C ++ projeto.

  • C ++ Coding Standards, por Sutter e Alexandrescu
  • JSF Veículo Aéreo C ++ padrões de codificação
  • The Elements of Style C ++
  • Effective C ++ 3rd Edition, por Scott Meyers

Existem outras opções? Ou a lista acima do que se deve utilizar em um projeto de C ++?

Alguns links relacionados

Foi útil?

Solução

Eu realmente acho que não importa qual deles você adota, desde que todo mundo vai junto com ele. Às vezes isso pode ser difícil como parece que alguns estilos não concordar com os povos tases. Ou seja, se trata de discutir se prefixar todos variável de membro com m_ é muito ou não.

Tenho vindo a utilizar e modificar os Geosoft normas por um tempo, estes são para C ++ . Há algum outro no -que-é o seu-favorito-Codificação- diretrizes-lista de verificação fio

Outras dicas

C ++ padrões de codificação: 101 Regras, diretrizes e melhores práticas (C ++ In-Depth Series) por Herb Sutter e, Andrei Alexandrescu.

Hmm, pergunta estranha. Basta escolher padrão que a maioria dos membros da equipe estão familiarizados. Fazer algum tipo de pesquisa para sua equipe. Não sei como isso pode ajudar aqui:)

Tente este, é o que Goddard usos centro de vôo espacial da NASA.

http://software.gsfc.nasa.gov/AssetsApproved /PA2.4.1.3.pdf

Eu escrevi um padrão de codificação para uma grande empresa britânica e estava muito consciente de razões colocando por isso que eu selecionado certas coisas, em vez de apenas torná-lo um monte de "Tu" pronunciamentos. (-:

Como uma maneira rápida para fora, eu sugiro a obrigatoriedade:

  • Scott Meyers Effective C ++ 3rd Edition ( Amazon ligação ) - se você pode encontrar uma cópia da primeira edição deste livro, em seguida, comprá-lo para a visão geral do projeto OO que foi removido do edições posteriores. ) -:
  • livro STL eficaz de Scott Meyer ( Amazon ligação ) - você deve usar STL usar C ++ eficiente.
  • livro Código de Steve McConnell completa 2 ( Amazon ligação ) - não C ++ específico, mas cheio de grandes insights.

Normas de codificação só são significativos se eles ajudá-lo a escrever o código. Então, eles só precisam de manter seu código consistente (ou seja, se alguém coloca m_ para os membros variáveis ??e alguém não, pode levar mais tempo para grok o código que se todos eles usaram o mesmo estilo).

Isso é tudo o que eles (deve) fazer, então, basta pegar o seu código existente e certifique-se os seus códigos da equipe para o mesmo estilo.

Eu gosto de pensar nisso como desenhos animados. Se você se tornar um cartunista nos Simpsons, você tem que tirar os olhos no caminho ou tudo parece calças oficiais, mas se você vai para Family Guy, você tem que atraí-los de forma diferente. Nem caminho é errado.

Muitas normas são cerca de restrições sem sentido, escritos por pessoas que não codificam-se (ou se consideram muito bom para manter a eles). Outros tentam ensinar-lhe como código. Nem tem o seu lugar em um bom padrão, aqueles que apenas torná-lo mais fácil para você olhar para algum código e entender o que seu fazer.

por exemplo. meus padrões incluem regras para nomear diretórios - você sempre terá o seu código em um diretório chamado o mesmo nome que o projeto, e todos os binários vão no subdir bin, com todos os arquivos de configuração no mesmo lugar, e um changelog, etc. Todos coisas simples, mas eu garanto que eu nunca vou encontrar um projeto chamado diferente algo com seus binários no diretório raiz onde eu não sei o que as mudanças foram feitas a ele. Simples, fácil coisas que faz uma enorme diferença.

Eu concordo com Harald Scheirich, é mais importante ter a equipe concordar com o que as regras devem ser mais do que apenas escolher um conjunto que tem sido recomendado por estranhos.

A minha recomendação pessoal seria ler Code Complete, 2nd Edição por Steve McConnell, que descreve (entre um lote inteiro de outras coisas úteis) várias normas e oferece comentários sobre cada codificação comuns. Isso pode ajudar sua equipe na criação de seus próprios padrões.

O Lockheed Martin JSF Veículo Aéreo C ++ Coding Standards é uma leitura interessante, mas é um pouco exagero a menos que você estiver trabalhando em campos onde um erro pode matar pessoas. Ainda é um exemplo muito importante olhar para a partir de um ponto de vista ética de computador sobre um exemplo de como programar com segurança e exatidão prioridade ser superior.

Para uso geral C ++ codificação, eu, pessoalmente, recomendo C ++ Coding Standards por Herb Sutter. Desde o início, ele enfatiza que não para padronizar (coisas relacionadas com o estilo ou preferência, em vez de práticas que promovam a segurança, correcção, eficiência). É também entre os mais fáceis lê na sua lista dando muito breve, mas argumentos concisos para cada padrão, tornando-se algo fácil de mostrar a seus colegas de trabalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top