Blog 1 min de lecture

Améliorez vos compétences C++ en explorant la suite de tests de Clang

Share this article
Améliorez vos compétences C++ en explorant la suite de tests de Clang

De nombreuses ressources abordent les meilleures façons d'apprendre un langage de programmation, notamment :

  • Lire un livre ou un magazine.
  • Les ressources des sites web.
  • Un collègue.
  • Suivre une formation.
  • Explorer des projets open source.

Cependant, il est difficile de trouver des ressources qui expliquent les techniques avancées du C++ à l'aide de petits exemples ciblés. Si vous souhaitez améliorer vos compétences en C++, la lecture de la norme est souvent recommandée. Cela peut toutefois s'avérer une tâche intimidante : peu de développeurs sont prêts à se plonger dans un document de plus de 1 500 pages.

Une autre approche consiste à étudier les petits exemples fournis avec le code source des compilateurs. Les compilateurs C++ open source comme GCC et Clang implémentent la norme C++. La bonne nouvelle, c'est que Clang fournit une vaste suite de tests pour valider la conformité du compilateur à la norme. Ces exemples sont bien implémentés, faciles à comprendre et bien commentés, et ils couvrent de nombreuses fonctionnalités du C++.

Vous pouvez explorer ces petits exemples pour mieux comprendre des fonctionnalités C++ spécifiques. De nombreux cas de test sont disponibles ici : $LLVMPATH$\tools\clang\test. Ils couvrent de nombreux aspects du compilateur :

clangtest

Pour la syntaxe C++, vous pouvez explorer les exemples du répertoire SemaCXX, qui contient de nombreux cas de test intéressants couvrant la quasi-totalité des fonctionnalités du C++, y compris celles introduites dans C++11 et C++14.

clangtest2

Prenons l'exemple des casts à la C dans le fichier cstyle-cast.cpp :

clangtest3

Ce test est bien commenté et explique les différents cas de cast ; les développeurs peuvent apprendre beaucoup en l'explorant.

En résumé :

Explorer la suite de tests de Clang peut aider tout développeur C++ à améliorer ses compétences en programmation ; même les experts C++ peuvent découvrir de nouveaux détails en étudiant ces exemples ciblés.

Share this article