Article de reference

Base de code

Dans le développement de logiciels , une base de code (ou base de code ) est un ensemble de codes sources utilisés pour créer un système logiciel , une application ou un composa...

Dans le développement de logiciels , une base de code (ou base de code ) est un ensemble de codes sources utilisés pour créer un système logiciel , une application ou un composant logiciel particulier . En règle générale, une base de code comprend uniquement des fichiers système de code source écrits par l'homme. Ainsi, une base de code n'inclut généralement pas les fichiers de code source générés par des outils (fichiers générés) ou les fichiers de bibliothèque binaire (fichiers objets), car ils peuvent être créés à partir du code source écrit par l'homme. Cependant, elle inclut généralement les fichiers de configuration et de propriétés, car ce sont les données nécessaires à la création.

Une base de code est généralement stockée dans un référentiel de contrôle de source dans un système de contrôle de version . Un référentiel de code source est un endroit où de grandes quantités de code source sont conservées, soit publiquement, soit en privé. Les référentiels de code source sont principalement utilisés pour les sauvegardes et le contrôle de version, ainsi que dans les projets multi-développeurs pour gérer différentes versions de code source et pour aider à résoudre les conflits qui surviennent lorsque les développeurs soumettent des modifications qui se chevauchent.

Subversion , Git et Mercurial sont des exemples d’outils populaires utilisés pour gérer ce flux de travail, qui sont courants dans les projets open source.

Pour les projets plus petits, son code peut être conservé sous la forme d'un ensemble de fichiers non gérés (même le noyau Linux a été conservé sous la forme d'un ensemble de fichiers pendant de nombreuses années).

Bases de code distinctes et monolithiques

Plusieurs projets peuvent avoir des bases de code séparées et distinctes, ou peuvent avoir une base de code unique, partagée oubase de code monolithique .C'est particulièrement le cas pour les projets liés, tels que ceux développés au sein de la même entreprise. Plus précisément, une base de code monolithique implique généralement un référentiel unique (tout le code au même endroit), et souvent un système de construction commun ou des bibliothèques communes. Le fait que la base de code soit partagée ou divisée ne dépend pas de l'architecture du système et des résultats de construction réels ; ainsi, une base de code monolithique, qui est liée au développement réel, n'implique pas unsystème monolithique, qui est lié à l'architecture logicielle ou à un binaire monolithique unique. En conséquence, une base de code monolithique peut et (pour les bases de code volumineuses) sera souvent constituée de composants distincts, au lieu de ne contenir qu'un seul système ou un seul binaire ; une base de code distribuée (avec plusieurs composants) peut être utilisée pour construire un seul système monolithique ou même un seul binaire. Par exemple, le noyau Linux est architecturalement unnoyau monolithique, mais il se compose de binaires distincts (composants chargeables) et est développé dans plusieurs référentiels distribués.

Une base de code monolithique présente à la fois des avantages et des inconvénients par rapport à une base de code distribuée. Plus simplement, une base de code monolithique simplifie l'intégration (les modifications apportées à différents composants ou la refactorisation du code entre les composants peuvent être effectuées facilement et de manière atomique) et permet des opérations sur l'ensemble de la base de code, mais nécessite un référentiel plus grand et facilite l'introduction d' une dette technique de grande envergure . Une base de code distincte ou une base de code distribuée maintient les référentiels individuels plus petits et plus faciles à gérer, imposant en même temps une séparation entre les composants, mais elle nécessite également une intégration entre les bases de code (ou avec le référentiel principal) et complique les modifications qui s'étendent sur plusieurs bases de code.

En termes de normes, le fait de qualifier plusieurs bases de code de « distinctes » signifie qu'il existe des implémentations indépendantes sans code source partagé et que, historiquement, ces implémentations n'ont pas évolué à partir d'un projet commun. Cela peut être une façon de démontrer l'interopérabilité en montrant deux logiciels indépendants qui implémentent une norme donnée.

Exemples

Certaines bases de code particulièrement volumineuses incluent :

  • Google : monolithique, 1 milliard de fichiers, 9 millions de fichiers de code source, 2 milliards de lignes de code source, 35 millions de commits au total, taille totale de 86 To (janvier 2015)
  • Facebook : monolithique, 8 Go (dépôt 54 Go incluant l'historique, 2014), des centaines de milliers de fichiers (2014)
  • Noyau Linux : distribué, plus de 15 millions de lignes de code (en 2013 et version du noyau 3.10)

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index