Claude Code の動作を見てみましょう

Claude Code によるソフトウェア開発

Dani Zysman

AI Curriculum Manager @ DataCamp

Claude Code によるソフトウェア開発

Claude Code の位置づけ

Claude 製品の階層: Web チャット、デスクトップアプリ、ターミナル CLI

  • Claude.ai: チャット形式、汎用タスク向け
  • Claude Desktop: ファイルアクセス可能なアプリ
  • Claude Code: ターミナルベース、コーディング専用
Claude Code によるソフトウェア開発

はじめましょう

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

詳細はこちら: https://code.claude.com/docs/en/overview

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

便利なコマンド:

  • /clear: 会話履歴をクリア
  • /exit または Ctrl + C: セッションを終了
  • /help: 使用可能なコマンドを表示
Claude Code によるソフトウェア開発

分かりにくいコードを読み解く

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]
  • 1文字の変数名
  • コメントなし
  • 詰め込まれたロジック
Claude Code によるソフトウェア開発

Claude がコードを説明してドキュメント化

> process_data() は何をする関数ですか?
process_data(): フィルタリング、調整、ランキング

フィルタリング: value が threshold(デフォルト: 0.5)を超えるレコードを保持
調整: premium=True の場合、10%のブーストを適用
変換: id、調整後の値、flag(adjusted > 1 の場合)を出力
ソート: adjusted の降順で上位10件を返す
> process_data() に docstring を追加してください
"""Filter records above threshold, apply 10% premium uplift, and return 
the top 10 by adjusted value."""
Claude Code によるソフトウェア開発

バグを見つける

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

問題点がわかりますか?

Claude Code によるソフトウェア開発

Claude がバグを発見して修正

> add_item() のバグを見つけて修正してください
バグを発見し、修正しました: 原因はミュータブルなデフォルト引数でした。 

item_list=[] を使うと、リスト引数を渡さずに add_item() を呼び出した場合、
すべての呼び出しが同じデフォルトのリストオブジェクトを共有してしまい、
呼び出しのたびに要素が蓄積されます。
def add_item(item, item_list=None):
    if item_list is None:
        item_list = []
    item_list.append(item)
    return item_list
Claude Code によるソフトウェア開発

トラブルシューティング

問題 解決策
「コンテキストウィンドウの上限超過」 /clear でリセット
レート制限 待ってから再試行
結果が不十分 プロンプトを1つのタスクに絞る
Claude Code によるソフトウェア開発

フィードバックループ

開発ループ: 説明、生成、レビュー、改善

Claude Code によるソフトウェア開発

練習しましょう!

Claude Code によるソフトウェア開発

Preparing Video For Download...