Estou tentando melhorar minha técnica de codificação c ++ lendo o código-fonte c ++. Qual projeto de código aberto você recomendaria? O código das bibliotecas Boost C ++ é bom?
Estou tentando melhorar minha técnica de codificação c ++ lendo o código-fonte c ++. Qual projeto de código aberto você recomendaria? O código das bibliotecas Boost C ++ é bom?
Respostas:
Eu recomendaria qualquer código C ++ de código aberto do Google, como o seguinte:
Vantagens de usar o código do Google:
O Guia de Estilo do Google C ++ usado pelo código C ++ do Google geralmente é bom, mas possui alguns bits bastante incomuns (como algumas de suas diretrizes de nomenclatura ou suas exceções não permitidas), portanto, lembre-se de que o código C ++ diferirá nesses aspectos de o que você verá no campo.
Eu não recomendaria ler uma base de código. Eu recomendo ler C ++ FAQS . Há também um excelente livro que acompanha o site. A melhor maneira de melhorar suas habilidades de codificação em C ++.
A leitura de código C ++ limpo existente é uma ótima maneira de aprender o idioma.
O código no kit de ferramentas OpenFST é muito limpo, por exemplo. É legível e usa recursos ligeiramente avançados sem exagerar.
O impulso, por outro lado, pode ser um pouco difícil de ler, em parte porque eles usam truques em C ++ que são difíceis de entender e porque geralmente espalham o código com soluções alternativas para diferentes versões do compilador.
Eu sugeriria ler o " Effective C ++ " de Scott Meyers e usar as sugestões que ele tem em pequenos programas de brinquedos.
Tente ler algo que já existe há anos e é grande em tamanho. Levará alguns meses para começar a entender o código e fazer algo nele.
Firefox, Thunderbird, OpenOffice.org, LibreOffice vêm à mente. Também deve haver muitos outros semelhantes. Esses projetos são executados em muitos sistemas operacionais e plataformas de hardware. Além disso, eles precisam pontuar na legibilidade. Estas podem ser as técnicas que você procura.
Ainda melhor do que ler o código, seria trabalhar com esse código na forma de corrigir bugs e adicionar pequenas melhorias aqui e ali. Escolha um programa, de preferência um que você use, inscreva-se na lista de e-mails, comece a pesquisar o rastreador de erros e tente diagnosticar alguns erros. Pergunte na lista de e-mails se você encontrar uma solução razoável, ou quando você ficar preso. Isso lhe dará alguns objetivos específicos ao ler o código, forçá-lo a realmente entender e é o que você fará na maioria das vezes em qualquer trabalho.
Talvez você possa olhar para algum aplicativo do KDE. A maioria é escrita em C ++ e você pode começar com um menor primeiro.
Sim, o código das Boost C ++ Libraries é um ótimo recurso para aprender, se não um dos melhores do planeta. No entanto, para um iniciante, aprender com o código Boost pode tornar a curva de aprendizado muito acentuada. Se você realmente quiser ler o Boost, comece com algumas bibliotecas pequenas e simples como o Boost.Array .
Tente ler o PDF C ++. É grátis e eu aprendi C ++ com ele, mesmo que eu não tenha outra experiência em programação e tenha apenas 14 anos. Incrível.