À retenir
- C'est le patrimoine intellectuel d'un projet informatique.
- Elle évolue constamment au fil des mises à jour.
- Elle est généralement stockée dans un dépôt (repository) centralisé pour permettre le travail collaboratif.
Une codebase (ou base de code) représente la collection complète des fichiers sources écrits par les développeurs pour créer un logiciel, une application ou un composant spécifique. Imaginez cela comme le « manuscrit original » d'une œuvre complexe, contenant chaque ligne d'instruction nécessaire à sa fabrication.
Étymologie
Le terme est un anglicisme composé de code (les instructions programmées) et base (le fondement ou le stock). Il est apparu pour distinguer les fichiers sources modifiables par l'humain des fichiers « binaires » (le résultat compilé que l'ordinateur exécute).
Exemples d'usage
- L'intégralité des fichiers PHP, HTML et CSS qui composent le CMS WordPress.
- L'ensemble des scripts Python et des fichiers de configuration d'un outil d'analyse de données sur GitHub.
- Les millions de lignes de code C++ qui constituent le noyau d'un système d'exploitation comme Linux.
Cas d'usage
La codebase intervient tout au long du cycle de vie d'un logiciel : lors du développement initial, pendant les phases de test pour vérifier la qualité des instructions, et lors de la maintenance pour corriger des erreurs ou ajouter des fonctionnalités.
Bonnes pratiques
Une bonne codebase doit être propre (lisible), modulaire (découpée en petits morceaux logiques) et versionnée via un outil comme Git. Il est crucial d'éviter de laisser du « code mort » (inutilisé) qui alourdit l'ensemble inutilement.
Synonymes
Antonymes
Conseil
Pour bien débuter, apprenez à organiser votre codebase dès le premier jour : nommez vos fichiers de façon explicite et utilisez des commentaires pour expliquer le pourquoi de vos choix techniques.
Questions fréquentes
Une codebase peut-elle contenir plusieurs langages ?
Oui, il est très courant qu'une codebase mélange plusieurs langages, par exemple du JavaScript pour l'interface et du Python pour la logique serveur.
Quelle est la différence entre codebase et dépôt (repo) ?
Le dépôt est le contenant (le dossier géré par Git), alors que la codebase est le contenu (le code lui-même).