Claude Code'u İş Başında Gör

Claude Code ile Yazılım Geliştirme

Dani Zysman

AI Curriculum Manager @ DataCamp

Claude Code ile Yazılım Geliştirme

Claude Code Nereye Oturur?

Claude ürün hiyerarşisi: Web Chat, Desktop App, Terminal CLI

  • Claude.ai: Sohbet arayüzü, genel görevler
  • Claude Desktop: Dosya erişimli uygulama
  • Claude Code: Terminal tabanlı, kodlama için tasarlandı
Claude Code ile Yazılım Geliştirme

Başlarken

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

Daha fazla bilgi: https://code.claude.com/docs/en/overview

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

Faydalı komutlar:

  • Sohbet geçmişini temizlemek için /clear
  • Oturumdan çıkmak için /exit veya Ctrl + C
  • Kullanılabilir komutları görmek için /help
Claude Code ile Yazılım Geliştirme

Kafa Karıştıran Kodda Yolunu Bulma

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]
  • Tek harfli değişkenler
  • Yorum yok
  • Sıkışık mantık
Claude Code ile Yazılım Geliştirme

Claude Açıklar ve Belgeler

> What does process_data() do?
process_data(): Filtrele, Ayarla ve Sırala

Filtrele: value > threshold (varsayılan: 0.5) olan kayıtları tut
Ayarla: premium=True ise %10 artış uygula
Dönüştür: id, adjusted ve flag (adjusted > 1 ise) üret
Sırala: adjusted azalan olacak şekilde ilk 10'u döndür
> Add a docstring to process_data()
"""Eşiğin üzerindeki kayıtları filtrele, premium için %10 artış uygula ve
adjusted değerine göre ilk 10'u döndür."""
Claude Code ile Yazılım Geliştirme

Hata Yakalama

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

Sorunu fark edebildin mi?

Claude Code ile Yazılım Geliştirme

Claude Hataları Bulur ve Düzeltir

> Find the bug in add_item() and fix it
Hata bulundu ve düzeltildi: Sorun değiştirilebilir (mutable) varsayılan argümandı.

item_list=[] kullanmak, add_item() çağrılarında liste argümanı verilmezse
aynı varsayılan liste nesnesinin paylaşılmasına yol açar ve
öğeler çağrılar arasında birikir.
def add_item(item, item_list=None):
    if item_list is None:
        item_list = []
    item_list.append(item)
    return item_list
Claude Code ile Yazılım Geliştirme

Sorun Giderme

Sorun Çözüm
"Context window exceeded" Sıfırlamak için /clear kullan
Oran sınırları Bekle ve yeniden dene
Zayıf sonuçlar İstemi tek bir göreve odakla
Claude Code ile Yazılım Geliştirme

Geri Bildirim Döngüsü

Geliştirme döngüsü: Tanımla, Üret, Gözden Geçir, İyileştir

Claude Code ile Yazılım Geliştirme

Hadi pratik yapalım!

Claude Code ile Yazılım Geliştirme

Preparing Video For Download...