Code de conduite
Cette section détaille les conventions de style et de formatage utilisées dans le projet COMFOR. Ces directives garantissent la cohérence, la lisibilité et la maintenabilité à long terme du code.
Conventions clés#
COMFOR suit une version adaptée du style de codage LLVM.
| Aspect | Standard |
|---|---|
| Indentation | 4 espaces (pas de tabulations) |
| Longueur maximale des lignes | 80 caractères |
| Style des accolades | K&R / 1TBS |
| Alignement des pointeurs | À gauche (int* ptr;) |
| Indentation des namespaces | Aucune |
Alignement switch / case |
case aligné avec switch |
| En-tête de fichier | Format fixe (voir ci-dessous) |
| Déclaration des énumérations | enum class |
| Alias de type | using (éviter typedef) |
| Noms de fonctions/méthodes | camelCase |
| Noms de classes | PascalCase |
| Membres privés | snake_case_ |
| Extensions de fichier | .h et .cpp (pas de .hpp) |
| Commentaires Doxygen | Syntaxe /// @ uniquement |
| Outils requis | clang-format ≥ 15 |
Pour plus de détails, consultez le fichier .clang-format à la racine du projet.
Modèle d'en-tête de fichier#
Chaque fichier .h ou .cpp doit commencer par l'en-tête suivante :
//------------------------------------------------------------------------------
// COMFOR - Simulation Framework for Composite Forming and Processing
//------------------------------------------------------------------------------
//
// @file file_name.ext
// @brief Description of the file content.
// @author Your Name <your@email.com>
// @date YYYY-MM-DD
// @copyright (C) 20XX-20YY Your Name/University/Company
//
// For licensing terms, see the LICENSE file in the root directory.
//------------------------------------------------------------------------------
Séparateurs de code#
Séparateur long (80 caractères)#
Séparateur de section#
Extraits de code VSCode#
Des extraits de code prédéfinis sont disponibles dans .vscode/comfor.code-snippets pour insérer rapidement des en-têtes et des séparateurs.
Comment les utiliser :
- Appuyez sur Ctrl+Space pour déclencher les extraits de code.
- Tapez le nom de l'extrait (par exemple,
comfor_hpppour un fichier d'en-tête). - Mettez à jour les espaces réservés (auteur, copyright,
@brief).
Extraits disponibles :
comfor_hpp→ Modèle de fichier d'en-tête.comfor_cpp→ Modèle de fichier source.comfor_sep_long→ Séparateur long.comfor_sep_short→ Séparateur de section.comfor_cmake_header→ En-tête de CMakeLists.txt.
Modèles CLion#
CLion insère automatiquement les en-têtes au style COMFOR lors de la création de nouveaux fichiers (.cpp, .h, CMakeLists.txt). Les modèles sont définis dans .idea/fileTemplates.
Étapes post-insertion :
- Mettre à jour les informations d'auteur/contact.
- Ajuster les années de copyright.
- Compléter les balises Doxygen (par exemple,
@brief).
Include What You Use (IWYU)#
IWYU est intégré à COMFOR pour optimiser les directives #include en :
- Supprimant les inclusions inutilisées.
- Ajoutant les inclusions manquantes.
- Remplaçant les inclusions internes d'Eigen par
ComforMath.h. - Réduisant les temps de compilation et les dépendances.
Installation#
IWYU n'est pas officiellement supporté sur Windows. Une installation manuelle nécessite une chaîne d'outils LLVM/Clang complète et la compilation d'IWYU à partir des sources.
Debian/Ubuntu
Fedora
Arch
Activer IWYU dans CMake#
Ajoutez ce qui suit à votre CMakeLists.txt :
option(USE_IWYU "Activer l'analyse include-what-you-use" ON)
if(USE_IWYU)
find_program(IWYU_PATH NAMES include-what-you-use iwyu REQUIRED)
set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE
${IWYU_PATH}
-Xiwyu --comment_style=long
-Xiwyu --mapping_file=${CMAKE_SOURCE_DIR}/.iwyu-imp)
endif()
Utilisation manuelle#
Exécutez IWYU manuellement avec :
Appliquez les corrections avec :Notes finales#
- Formatez votre code avec
.clang-formatavant de commit. - Utilisez les modèles officiels pour les en-têtes et les fichiers sources.
- Gardez les inclusions minimales avec IWYU.
- Restez cohérent avec les normes de codage du projet.