Wat is een codebase?

Een codebase is een verzameling van bestanden die samen een softwareproject vormen. Het is de gehele set van code en andere bronnen die nodig zijn om het softwareproject te ontwikkelen, onderhouden en uit te voeren.

Een codebase kan bestaan uit verschillende bestanden/mappen die de structuur en functionaliteit van het softwareproject (zoals een app) omvatten. Door het opslaan en bijhouden van deze informatie, wordt het makkelijker om wijzigingen bij te houden, samen te werken en versies te beheren. Het zorgt er ook voor dat de code hergebruikt kan worden, en jij als ontwikkelaar verder kunt werken aan het project.

Een codebase wordt opgesteld, beheerd en onderhouden door de app-ontwikkelaar die de desbetreffende app ontwikkeld. Het kan worden opgeslagen in een versiebeheersysteem, zoals Git.

Alle bestanden in een cosebase zorgen ervoor dat de app werkt zoals hij moet werken. Om je een beeld te geven van wat dit inhoudt, hebben we hieronder voorbeelden beschreven die kunnen voorkomen in een codebase:

  • Broncodebestanden: Dit zijn de primaire bestanden waarin de code is geschreven. Deze bestanden kunnen (afhankelijk van de programmeertaal) extensies hebben zoals:
    • .java
    • .HTML
    • .CSS
    • Overige bestanden
  • Configuratiebestanden: Deze bestanden bevatten de configuratie-instellingen om het de app goed te laten werken. Dit zijn bijvoorbeeld:
    • Serverinstellingen
    • Databaseconfiguraties
    • Toegangsparameters
    • Overige aanpasbare opties
  • Afhankelijkheidsbestanden: Bij het ontwikkelen van apps wordt vaak gebruik gemaakt van externe bronnen. Deze bronnen zorgen er bijvoorbeeld voor dat ontwikkelaars efficiënter kunnen werken, de code hergebruikt kan worden of bepaalde functionaliteiten mogelijk zijn. Voorbeelden van externe bronnen zijn:
    • Bibliotheken
    • Frameworks
    • Native bridge/native wrapper
    • Modules
  • Hulpbronbestanden: Naast de functionaliteit van de app die geschreven is in code, moet ook de esthetische/visuele kant van de app worden vastgelegd. Hier wordt informatie opgeslagen over bijvoorbeeld:
    • Afbeldingen
    • Lettertypen
    • Sjablonen
    • Stijlen
    • kleuren
    • Overige aspecten
  • Documentatiebestanden: Hiermee worden bestanden bedoeld die de werking van de app uitleggen. Op deze manier kan de app-ontwikkelaar verder werken aan het project (nee, die kan niet alles onthouden) of kunnen zelfs andere app-ontwikkelaars het project overnemen. Hier wordt bijvoorbeeld uitgelegd hoe bepaalde componenten met elkaar communiceren. Dit kunnen verschillende bestanden/documentatievormen zijn, zoals:
    • README-besatnden
    • API-documentatie
    • Handleidingen
    • Overige vormen van documentatie

Hoewel een codebase over het algemeen bestaat uit bovenstaande (fundamentele) onderdelen, kan de structuur van een codebase kan variëren. Hier is niet één standaard template voor. Het is namelijk afhankelijk van gebruikte technologieën, frameworks en ontwikkelmethodes. Daarnaast heeft iedere ontwikkelaar zijn/haar eigen manier van documentatie. Denk bijvoorbeeld aan jouw eigen ‘word’ of ‘excel’ expertise: jouw project (voor dezelfde opdracht) ziet er anders uit dan die van je klasgenoot/collega.

Nog steeds niet helemaal duidelijk?

Ik help je graag met al je vragen. Je mag me altijd even bellen of mailen.