RF : Références

De nombreuses normes de codage, règles et directives ont été rédigées pour le C++, et notamment pour les usages spécialisés du C++. Beaucoup

Une mauvaise norme de codage est pire qu’aucune norme de codage.
En revanche, un ensemble approprié de directives vaut bien mieux qu’aucune norme : « La forme est libératrice ».

Pourquoi ne pourrions‑nous pas simplement disposer d’un langage qui autorise tout ce que nous voulons et interdit tout ce que nous ne voulons pas (« un langage parfait ») ? Fondamentalement, parce que les langages abordables (et leurs chaînes d’outils) doivent également répondre aux besoins d’autres personnes, différents des vôtres, et satisfaire davantage de besoins que ceux dont vous avez aujourd’hui. De plus, vos besoins évoluent avec le temps et un langage à usage général est nécessaire pour vous permettre de vous adapter. Un langage idéal aujourd’hui serait trop restrictif demain.

Les directives de codage adaptent l’utilisation d’un langage à des besoins spécifiques. Ainsi, il ne peut exister un style de codage unique pour tous. Nous nous attendons à ce que différentes organisations apportent des compléments, généralement avec davantage de restrictions et des règles de style plus strictes.

Sections de références :

RF.rules : Règles de codage

RF.books : Livres contenant des directives de codage

RF.C++ : Programmation C++ (C++11/C++14)

RF.web : Sites web

RS.video : Vidéos sur le « C++ moderne »

RF.man : Manuels

RF.core : Matériaux des Core Guidelines

Cette section regroupe les documents utiles pour présenter les Core Guidelines et les idées qui les sous-tendent :

Cela donne une idée du niveau d’ambition des Core Guidelines.

Notez que les diapositives des présentations CppCon sont disponibles (liens avec les vidéos publiées).

Les contributions à cette liste sont les bienvenues.

Remerciements

Nous remercions les nombreuses personnes ayant contribué aux règles, suggestions, informations de soutien, références, etc. :

et consultez la liste des contributeurs sur GitHub.