The only thing worse than not knowing why some code breaks is not knowing why it worked in the first place! It's the classic ‘house of cards’ mentality: “it works, but I'm not sure why, so nobody touch it!” You may have heard, ‘Hell is other people’ (Sartre), and the programmer meme twist, ‘Hell is other people's code.’ I believe truly: ‘Hell is not understanding my own code’.
—Kyle Simpson, You Don't Know JS: Async & Performance

Modules

JS splitsen in verschillende bestanden

We willen al een aantal basiscitaten klaarzetten in de JS-code. Dat zijn vele tientallen regels ‘data’. Het is zinvol om deze data in een apart bestand te zetten, gescheiden van de programmeerlogica. De basiscitaten komen zo apart in het bestand ‘citaten.js’ terwijl de rest van de code in ‘script.js’ blijft staan. Je roept dan beide bestanden op in je HTML met het script element.

Het volgende filmpje toont hoe het splitsen van onze JS code in verschillende aparte bestanden de logische opbouw en leesbaarheid van onze code ten goede komt. De juiste volgorde waarin je de bestanden oproept in de head van het HTML-document is uiteraard belangrijk!

Modules

Meer info over modules: zie https://javascript.info/modules-intro.

In de vorige video hebben we onze code al opgesplitst in verschillende bestanden. Maar we kunnen nog een stap verder gaan. We kunnen onze code opdelen in modules. Een module is een stukje code dat een bepaalde functionaliteit bevat . Zo’n module kan je dan importeren in een ander bestand. Dit is handig omdat je zo je code kan hergebruiken en je code overzichtelijk blijft .

Waarom kunnen we niet gewoon verder blijven werken met aparte script elementen in de HTML-code? Onze beperkte code heeft nu nog maar twee JS-bestanden. Maar stel je voor dat de applicatie een heel stuk groter wordt en verspreid wordt over tientallen verschillende bestanden. Er onstaan dan heel wat moeilijkheden:

Onderstaand filmpje gaat in op volgende topics:

CSS update: classes en custom properties toevoegen

Het laatste filmpje van dit hoofdstuk legt de klemtoon weer helemaal op CSS. We voegen wat CSS-code toe en beklemtonen vooral volgende onderwerpen: