codebase
/ˈkəʊdˌbeɪs/zelfstandig naamwoord
Een codebase is de verzameling broncode waaruit een softwareproduct of onderdeel wordt gebouwd en onderhouden.
Voordat we de nieuwe functie bouwden, onderzochten we hoe de bestaande codebase was opgezet.
Een codebase omvat de code die ontwikkelaars als één geheel beheren. Dat kan de code van een complete applicatie zijn, maar ook die van een afzonderlijke service of Woordenboek · In het kortlibraryEen library is een verzameling herbruikbare softwarecode voor een afgebakende taak. Een applicatie kan die code aanroepen om bestaande functionaliteit te gebruiken.Lees meer. De omvang zegt weinig over de kwaliteit: een kleine codebase kan moeilijk te doorgronden zijn, terwijl een groot project dankzij duidelijke afspraken goed te onderhouden blijft.
Wat hoort bij een codebase?
Naast broncode bevat een codebase meestal bestanden die nodig zijn om de software te bouwen, testen en configureren. Denk aan tests, scripts en instellingen voor ontwikkelomgevingen. Gegenereerde bestanden en geïnstalleerde Woordenboek · In het kortdependencyEen dependency is een softwareonderdeel of systeem waarvan andere software afhankelijk is om gebouwd te worden of te draaien, zoals een library, framework of externe dienst.Lees meer rekent men er doorgaans niet toe, omdat die opnieuw gemaakt of opgehaald kunnen worden.
Een codebase is niet precies hetzelfde als een repository. Een repository is de plek waar bestanden en hun geschiedenis met Woordenboek · In het kortversiebeheerVersiebeheer legt wijzigingen in code vast, inclusief wie wat heeft aangepast en wanneer. Zo kunnen ontwikkelaars samenwerken, veranderingen vergelijken en teruggaan naar een eerdere versie.Lees meer worden opgeslagen. Vaak staat een codebase in één repository, maar een applicatie kan code uit meerdere repositories combineren. Andersom kan één repository ook documentatie of andere bestanden bevatten die niet bij de codebase horen.
Werken aan een bestaande codebase
Wie een codebase overneemt, moet eerst begrijpen hoe onderdelen samenhangen en welke afspraken het team gebruikt. Tests, documentatie en een herkenbare mappenstructuur helpen daarbij. Ook de gebruikte Woordenboek · In het kortframeworkEen framework is een samenhangende basis voor softwareontwikkeling. Het biedt herbruikbare code, een vaste structuur en afspraken voor het bouwen van een applicatie.Lees meer en dependencies bepalen hoeveel voorkennis nodig is.
Tijdens doorontwikkeling groeit en verandert de codebase. Woordenboek · In het kortrefactoringRefactoring is het aanpassen van de interne structuur van bestaande code zonder het zichtbare gedrag van de software te veranderen. Het doel is de code begrijpelijker en makkelijker aanpasbaar te maken.Lees meer houdt de structuur begrijpelijk zonder het bedoelde gedrag te veranderen. Tijdelijke oplossingen en uitgesteld onderhoud kunnen Woordenboek · In het korttechnische schuldTechnische schuld is het extra werk dat nodig is doordat eerdere keuzes in software latere wijzigingen moeilijker, trager of riskanter maken.Lees meer veroorzaken. Daardoor kosten latere aanpassingen vaak meer tijd of brengen ze meer risico mee. Code reviews en automatische tests helpen om fouten en onduidelijke wijzigingen vroeg te vinden.