• # répertoires

    Posté par (site web personnel) . En réponse au journal Sources et arborescence des fichiers. Évalué à 4.

    Souvent, on sépare les .h et les .cc, en un répertoire src/ et un répertoire include/. En fait, je le fais souvent plus ou moins machinalement, mais ce n'est pas forcément une bonne idée.

    Par contre, faire un sous répertoire par "module" de ton projet, c'est clairement une bonne chose. Ce qui est intéressant, c'est de repérer suffisament bien les dépendances de chaque répertoire, et ensuite, de ne donner que les chemins d'include (là ou le compilo va chercher les .h) nécessaires dans chaque sous répertoire pour te forcer à les respecter. Le résultat, c'est que tu évites de faire un projet "plat de nouilles", tu as du code réutilisable. Si tu veux réutiliser un module dans un autre projet, tu récupère ce sous répertoire et ses dépendances, et hop !

    La couche d'après, c'est de compiler chaque sous répertoire en une bibliothèque (en général statique), d'avoir un beau système de Makefiles récursifs, et tu gagneras en performances à l'édition de liens.

    Un autre avantage du système, c'est que ton gestionnaire de versions te permet surement de travailler sur un seul répertoire à la fois (CVS, subversion, arch si tu utilise des configurations). Sur un gros projet, ça évite de reparcourire tout l'arbre des sources à la moindre opération, c'est plutôt appréciable !