Keşfet-Planla-Kodla İş Akışı

Claude Code ile Yazılım Geliştirme

Dani Zysman

AI Curriculum Manager @ DataCamp

"Dalıp Başlama" Sorunu

Buzdağı: su üstünde istem, altta gizli karmaşıklık

Claude Code ile Yazılım Geliştirme

İş Akışı

Akış şeması: Init → Explore → Plan → Code

Claude Code ile Yazılım Geliştirme

API Proje Özeti

music-analytics-api/
  app.py           # Application entry point
  routes.py        # API endpoints
  models.py        # Artist/Album models
  analytics.py     # Statistics functions
  middleware.py    # Request logging
  config.py        # Session settings

Uymamız gereken mevcut kalıpları olan basit bir Music Analytics API'si.

Claude Code ile Yazılım Geliştirme

CLAUDE.md: Proje Hafızası

CLAUDE.md:

  • Claude'a proje hakkında kalıcı bağlam verir
  • Claude her oturumda bunu otomatik okur
  • Her seferinde kurulumu tekrar anlatmana gerek yok
Claude Code ile Yazılım Geliştirme

Başlangıç: /init

> /init
Music Analytics API
Müzik veri analitiği için Flask tabanlı bir REST API.

Proje Yapısı
- app.py       Flask uygulama giriş noktası
- routes.py    API uç nokta tanımları
- analytics.py İstatistiksel analiz fonksiyonları

Kodlama Kuralları
- Fonksiyon parametreleri için type hint kullan
- Tüm public fonksiyonlara docstring ekle
- PEP 8 stil kılavuzuna uy
Claude Code ile Yazılım Geliştirme

Plan Modu

  • Shift+Tab ile geçiş yap ya da /plan yaz
  • Plan oluşturulduğunda, görselleştirmek, onaylamak, gözden geçirmek veya düzenlemek için Ctrl+G'ye bas
Claude Code ile Yazılım Geliştirme

Planlamayı Atlamak

> Add a /api/login endpoint that creates a session for a user
from flask import jsonify, request
from flask_login import LoginManager, login_user
from app import app

login_manager = LoginManager(app)
@app.route('/api/login', methods=['POST'])
def login():
    """Handle user login and create session."""
    data = request.get_json()
    user = User.query.filter_by(username=data['username']).first()
    if user and user.password == data['password']:
        login_user(user)
        return jsonify({'status': 'success'})
    return jsonify({'error': 'Invalid credentials'}), 401
Claude Code ile Yazılım Geliştirme

Önce Planla, Sonra Kodla

> /plan Add a /api/login endpoint that creates a session for a user
Plan: POST /api/login endpoint'i ekle

Bağlam
Music analytics API'de oturum altyapısı var
(flask_session, SECRET_KEY, session routes içinde zaten import edilmiş)
amma kimlik doğrulama yok.

Değiştirilecek Dosyalar
- models.py:  User sınıfı, UserStore sınıfı, user_store singleton ekle
- routes.py:  import'u genişlet, login rotası ekle

app.py, config.py, middleware.py veya analytics.py için değişiklik yok.
Claude Code ile Yazılım Geliştirme

Genişletilmiş Düşünme

> think about how to add authentication to this API
Claude Code ile Yazılım Geliştirme

Düşünme Seviyeleri

Komut Akıl Yürütme Derinliği
think Temel akıl yürütme
think more Genişletilmiş akıl yürütme
think a lot Kapsamlı akıl yürütme
think longer Uzatılmış süreli akıl yürütme
ultrathink Maksimum akıl yürütme
Claude Code ile Yazılım Geliştirme

Bağlam Penceresi ve Token'ları Yönetme

excalidraw: Bağlam penceresi, istemler ve yanıtlarla doluyor; token dökümü gösteriliyor

  • "Context window exceeded" → oturum çok uzun; /clear kullan
  • Bağlam dolduğunda Claude, son konuşmayı önceliklendirir
Claude Code ile Yazılım Geliştirme

Tam İş Akışı

Akış şeması: /init → Explore → Plan → Review → Code → Test

Claude Code ile Yazılım Geliştirme

Hadi pratik yapalım!

Claude Code ile Yazılım Geliştirme

Preparing Video For Download...