lang:cpp:include
Règles de qualité de code
Merci à C/C++ Include Guidelines Archive le 13/10/2019 du 04/01/2020 qui a le même avis sur la question que moi.
Ne pas oublier d'includes
Les fichiers entêtes doivent se compiler.
gcc header.hpp -fsyntax-only
Ne pas exposer l'implémentation
Pour les classes publiques, et si besoin pour les classes privées, masquer l'implémentation via pimpl.
Éviter les inclusions multiples
Utiliser
#pragma once
et non pas les
#ifndef XXX_H__ #define XXX_H__ ... #endif
Ordre d'inclusion
D'abord les inclusions systèmes #include <….hpp>
, puis les inclusions locales (#include "….h"
).
Un entête, une classe
Un seul fichier entête pour une class
, un enum
, une struct
.
Cela réduit les dépendances.
Inclure les sous-dossiers dans les includes
Dans une même librairie, préférer l'inclusion du sous dossier depuis la racine du projet plutôt que devoir fournir une liste complète des dossiers à chercher (-I
dans gcc).
Bon code :
#include "Network/CreateSession.h" #include "Application/Settings.h" #include "ExternalLib/RakNet/RakPeerInterface.h"
Mauvais code :
#include "CreateSession.h" #include "Settings.h" #include "RakPeerInterface.h"
lang/cpp/include.txt · Dernière modification : 2020/01/04 19:47 de root