Outils pour utilisateurs

Outils du site


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