>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Beveiliging
JavaScript

Clean Code JavaScript - Hoe Schrijf Je Code Waar Je Niet Voor Hoeft Te Blozen Tegenover Collega's

94.452 sterren

Ken je dat gevoel wanneer je oude code opent en niet begrijpt wat je bedoelde? Of wanneer een collega om hulp vraagt bij zijn script en je uren bezig bent om het te ontcijferen? De Clean Code JavaScript repository is een verzameling praktische regels die je helpen om je code begrijpelijk, onderhoudbaar en professioneel te maken.

Waarom is schone code zo belangrijk?

Na meer dan 15 jaar met JavaScript te hebben gewerkt, heb ik honderden projecten gezien. En het belangrijkste probleem bij de meeste daarvan is niet de algoritmische complexiteit, maar de onleesbaarheid van de code. We besteden 10 keer meer tijd aan het lezen van code dan aan het schrijven ervan. Clean Code JavaScript is een bewerking van Robert Martin's beroemde boek "Clean Code" voor de JavaScript wereld.

Zoals de repository auteur Ryan McDermott zegt:

"Elk stukje code begint als een ruw concept, zoals natte klei die zijn definitieve vorm krijgt. We bewerken de onvolkomenheden wanneer we het met collega's reviewen."

5 belangrijke principes uit de repository

1. Betekenisvolle variabelenamen

De eerste stap naar schone code is correcte naamgeving. Ze moeten:

  • Uitspreekbaar zijn
  • Doorzoekbaar zijn (zodat je ze via Ctrl+F kunt vinden)
  • Geen mentale vertaling vereisen

Slecht:

const yyyymmdstr = moment().format('YYYY/MM/DD');

Goed:

const currentDate = moment().format('YYYY/MM/DD');

2. Functies moeten één ding doen

Deze fout komt voor in 90% van de projecten. Een functie is geen roman, maar een kort gedicht.

Slecht:

function emailClients(clients) {
  clients.forEach(client => {
    const record = database.lookup(client);
    if (record.isActive()) email(client);
  });
}

Goed:

function emailActiveClients(clients) {
  clients.filter(isActiveClient).forEach(email);
}

function isActiveClient(client) {
  const record = database.lookup(client);
  return record.isActive();
}

3. Vermijd bijeffecten

Een functie zou niets buiten zijn verantwoordelijkheidsgebied mogen modificeren. Dit is vooral belangrijk bij het werken met arrays en objecten.

Slecht:

const addItemToCart = (cart, item) => {
  cart.push({ item, date: Date.now() });
};

Goed:

const addItemToCart = (cart, item) => {
  return [...cart, { item, date: Date.now() }];
};

4. SOLID voor JavaScript

SOLID principes werken niet alleen in Java en C#. Hier is hoe Dependency Inversion er in JS uitziet:

Slecht:

class InventoryTracker {
  constructor(items) {
    this.items = items;
    this.requester = new InventoryRequester();
  }
}

Goed:

class InventoryTracker {
  constructor(items, requester) {
    this.items = items;
    this.requester = requester;
  }
}

5. Testbaarheid

Schone code is testbare code. Elke functie moet één verantwoordelijkheid hebben en een voorspelbaar resultaat.

Slecht:

describe('MomentJS', () => {
  it('handles all cases', () => {
    // 20 строк теста разных сценариев
  });
});

Goed:

describe('MomentJS', () => {
  it('handles 30-day months', () => {
    // один четкий сценарий
  });
  
  it('handles leap year', () => {
    // другой сценарий
  });
});

Wie heeft voordeel bij deze repository?

  • Junior ontwikkelaars: Je begrijpt het verschil tussen werkende code en goede code
  • Team leads: Je kunt deze principes gebruiken voor code review
  • Instructeurs: Je krijgt uitstekende voorbeelden voor JavaScript cursussen
  • Freelancers: Klanten waarderen schone en onderhoudbare code

Persoonlijke implementatie-ervaring

In mijn praktijk was er een project met 50 bestanden van elk 500+ regels code. Na het implementeren van Clean Code principes:

  • De tijd om nieuwe functies toe te voegen daalde met 40%
  • Het aantal productiebugs daalde met 3 keer
  • Nieuwe ontwikkelaars werden 2 keer sneller ingewerkt

Hoe begin je met gebruiken?

  1. Bookmark de repository
  2. Kies 2-3 regels die je het meest overtreedt
  3. Begin met het toepassen ervan in nieuwe code
  4. Refactoreer geleidelijk oude secties

Zoals de auteur zegt: "Deze regels zijn geen dogma, maar een gids. Ons vak is jong en we zijn nog aan het leren."

Links:

Gerelateerde projecten