web-dev-qa-db-fra.com

Quel est le meilleur code source C ++ à lire pour un débutant?

J'essaie d'améliorer ma technique de codage c ++ en lisant le code source c ++. Quel projet open source recommanderiez-vous? Le code de Boost C++ Libraries est-il bon?

25
snowfox

Je recommanderais n'importe quel code C++ open source de Google, tel que le suivant:

Avantages de l'utilisation du code Google:

  • Il est écrit selon des normes élevées et est évalué par les pairs (contrairement à certains codes open source).
  • Il a une bonne documentation pour les développeurs (ce qui le rend plus facile à comprendre et à comprendre).
  • Il utilise des techniques C++ moyennement avancées (et est donc bon pour l'apprentissage).
  • Il est probablement plus facile à comprendre que Boost car il ne repose pas tellement sur la métaprogrammation avancée des modèles et métaprogrammation du préprocesseur et n'est pas autant alourdi par d'innombrables hacks de compatibilité du compilateur et des cas spéciaux.

Le Google C++ Style Guide que le code C++ de Google utilise est généralement bon, mais il contient des bits assez inhabituels (tels que certaines de leurs directives de dénomination ou leurs exceptions interdites), alors gardez à l'esprit que leur C++ le code sera différent à cet égard de ce que vous verrez sur le terrain.

27
Josh Kelley

Je ne recommanderais pas de lire une base de code. Je recommanderais de lire FAQ C++ . Il y a aussi un excellent livre qui accompagne le site. Le meilleur moyen d'améliorer vos compétences en codage C++.

9
Onorio Catenacci

La lecture de code C++ existant est un excellent moyen d'apprendre le langage.

Le code dans la boîte à outils OpenFST est très propre, par exemple. Il est lisible et utilise des fonctionnalités légèrement avancées sans aller trop loin.

Boost, en revanche, peut être un peu difficile à lire, en partie parce qu'ils utilisent des astuces C++ difficiles à comprendre et parce qu'ils saupoudrent souvent le code avec différentes solutions de contournement pour différentes versions de compilateur.

6
user3287

Je suggère de lire le " Effective C++ " de Scott Meyers et en utilisant les suggestions qu'il a dans les petits programmes de jouets.

Essayez de lire quelque chose qui existe depuis des années et qui est de grande taille. Il faudra quelques mois pour commencer à comprendre le code et à y faire quelque chose.

Firefox, Thunderbird, OpenOffice.org, LibreOffice viennent à l'esprit. Il devrait y en avoir beaucoup plus similaires. Ces projets s'exécutent sur de nombreux systèmes d'exploitation et plates-formes matérielles. De plus, ils doivent marquer sur la lisibilité. Ceux-ci pourraient vous convenir des techniques que vous recherchez.

2
vpit3833

Encore mieux que de lire le code serait de travailler avec ce code sous forme de correction de bugs et d'ajout de petites améliorations ici et là. Choisissez un programme, de préférence celui que vous avez utilisé, inscrivez-vous à la liste de diffusion, commencez à parcourir leur traqueur de bogues et essayez de diagnostiquer certains bogues. Demandez sur la liste de diffusion si vous trouvez une solution à quelque chose, que ce soit raisonnable ou quand vous êtes coincé. Cela vous donnera des objectifs spécifiques lors de la lecture du code, vous obligera à vraiment comprendre et c'est ce que vous ferez la plupart du temps dans n'importe quel travail.

Vous pouvez peut-être regarder une application KDE. La plupart sont écrits en C++ et vous pouvez commencer par un plus petit en premier.

0
Jan Hudec