Zie Claude Code in actie

Softwareontwikkeling met Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Softwareontwikkeling met Claude Code

Waar Claude Code past

Claude-producten hiërarchie: Web Chat, Desktop App, Terminal CLI

  • Claude.ai: Chatinterface, algemene taken
  • Claude Desktop: App met bestands­toegang
  • Claude Code: Terminal-gebaseerd, gemaakt voor coderen
Softwareontwikkeling met Claude Code

Aan de slag

$ curl -fsSL https://claude.ai/install.sh | bash

Meer info: https://code.claude.com/docs/en/overview

$ cd /path/to/your/project
$ claude

Handige commando's:

  • /clear om gespreksgeschiedenis te wissen
  • /exit of Ctrl + C om de sessie te verlaten
  • /help toont beschikbare commando's
Softwareontwikkeling met Claude Code

Door verwarrende code navigeren

def process_data(records, threshold=0.5):
    result = []
    for r in records:
        if r.get('value') and r['value'] > threshold:
            x = r['value'] * 1.1 if r.get('premium') else r['value']
            result.append({'id': r['id'], 'adjusted': x, 'flag': x > 1})
    return sorted(result, key=lambda d: d['adjusted'], reverse=True)[:10]
  • Enkel-lettervariabelen
  • Geen comments
  • Samengepakte logica
Softwareontwikkeling met Claude Code

Claude legt uit en documenteert

> What does process_data() do?
process_data(): Filter, Pas aan & Rangschik

Filter: Behoud records waar value > threshold (standaard: 0.5)
Adjust: Pas 10% boost toe als premium=True
Transform: Geef id, adjusted en flag (als adjusted > 1)
Sort: Retourneer top 10 op adjusted aflopend
> Add a docstring to process_data()
"""Filter records boven de drempel, pas 10% premium-uplift toe en geef 
de top 10 terug op adjusted."""
Softwareontwikkeling met Claude Code

Een bug opsporen

def add_item(item, item_list=[]):
    item_list.append(item)
    return item_list

Zie je het probleem?

Softwareontwikkeling met Claude Code

Claude vindt en fixt de bug

> Find the bug in add_item() and fix it
Bug gevonden en opgelost: Het probleem was een mutable standaardargument. 

Door item_list=[] te gebruiken, delen alle aanroepen van add_item() zonder 
een lijstargument hetzelfde standaardlijstobject, 
waardoor items tussen aanroepen blijven opstapelen.
def add_item(item, item_list=None):
    if item_list is None:
        item_list = []
    item_list.append(item)
    return item_list
Softwareontwikkeling met Claude Code

Problemen oplossen

Issue Oplossing
"Context window exceeded" Gebruik /clear om te resetten
Rate limits Wacht en probeer opnieuw
Slechte resultaten Houd prompts bij één taak
Softwareontwikkeling met Claude Code

De feedbacklus

De ontwikkelllus: Beschrijf, Genereer, Review, Verfijn

Softwareontwikkeling met Claude Code

Laten we oefenen!

Softwareontwikkeling met Claude Code

Preparing Video For Download...