Code refactoring

12 min Gevorderd Pro

Code refactoring

Refactoring is het verbeteren van bestaande code zonder het gedrag te veranderen. Met Claude Code kun je refactors uitvoeren die je handmatig niet zou aandurven.

Wanneer refactoren?

Herken de signalen:

  • Duplicatie — Dezelfde logica op meerdere plekken
  • Lange bestanden — Bestanden van 500+ regels
  • Complexe functies — Functies die te veel doen
  • Slechte naamgeving — Variabelen als x, temp, data2
  • Verouderde patronen — Code die niet meer past bij je huidige stack
Analyseer src/utils/helpers.ts. Het bestand is 400
regels lang en doet te veel. Stel een refactoring
plan voor: welke functies horen bij elkaar en in
welke aparte bestanden moeten ze?
Tip

Laat Claude eerst een plan maken voor de refactor. Accepteer niet blindelings een grote herstructurering. Bekijk het plan, geef feedback, en laat Claude dan uitvoeren.

Veilig refactoren: de gouden regels

1. Commit eerst

Altijd je huidige werk committen voor je begint:

Commit alle huidige wijzigingen. Daarna gaan we
de user service refactoren.

2. Tests als vangnet

Draai eerst alle tests. Ik wil zeker weten dat
alles groen is voordat we beginnen met refactoren.

Als je geen tests hebt:

Schrijf eerst tests voor de functies in
src/services/user.ts voordat we gaan refactoren.
Test de huidige functionaliteit zodat we na de
refactor kunnen verifiëren dat alles nog werkt.

3. Kleine stappen

In plaats van:

Refactor de hele codebase

Doe:

Refactor alleen de authenticatie module.
Begin met het opsplitsen van auth.ts in aparte
bestanden voor login, register en token management.
Let op

De grootste fout bij refactoring: alles tegelijk willen doen. Eén module per keer. Test tussendoor. Commit na elke succesvolle stap.

Veelvoorkomende refactors

Bestand opsplitsen

Split src/api/routes.ts op in aparte bestanden per
resource: users.ts, products.ts, orders.ts.
Update alle imports in het project.

Duplicatie verwijderen

Ik zie dat de error handling in src/api/users.ts en
src/api/products.ts bijna identiek is. Extract dit
naar een gedeelde middleware in src/middleware/errorHandler.ts.

Type verbeteren

Vervang alle 'any' types in src/services/ door
specifieke TypeScript types. Maak interfaces aan
waar nodig.

Naamgeving verbeteren

Hernoem de volgende variabelen en functies in het
hele project voor betere leesbaarheid:
- getData → fetchUserProfile
- proc → processPayment
- x → cartTotal

Grote herstructureringen

Bij een grote refactor:

We migreren van een monoliet naar een gelaagde
architectuur. Het plan:

1. Maak mappen: services/, repositories/, controllers/
2. Verplaats database logica naar repositories/
3. Verplaats business logica naar services/
4. Laat controllers/ alleen HTTP afhandelen
5. Update alle imports

Begin met stap 1 en 2. Doe de rest in een
volgende sessie.
Info

Claude is ideaal voor dit soort mechanische maar foutgevoelige taken. Het mist geen imports en vergeet geen referenties. Maar controleer altijd of de tests nog slagen.

Na de refactor

Altijd dit checken:

De refactor is klaar. Doe nu:
1. Draai alle tests
2. Check of TypeScript geen errors geeft
3. Doe een build om te verifiëren
4. Commit als alles groen is
Checkpoint bereikt!

Wat je nu moet kunnen:

Je kunt nu veilig refactoren met Claude:

  • Commit altijd eerst en zorg voor tests als vangnet
  • Laat Claude een plan maken voor je accepteert
  • Werk in kleine stappen, niet alles tegelijk
  • Test en commit na elke succesvolle stap

Kies een bestand in je project dat te lang is en vraag Claude om een refactoring plan te maken.

Pro

Premium les

Upgrade naar Pro om "Code refactoring" volledig te bekijken.

Maak een account