Claude Code в действии

Разработка программного обеспечения с Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Разработка программного обеспечения с Claude Code

Место Claude Code в линейке продуктов

Иерархия продуктов Claude: веб-чат, настольное приложение, терминал 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]
  • Однобуквенные переменные
  • Отсутствие комментариев
  • Сжатая логика
Разработка программного обеспечения с Claude Code

Claude объясняет и документирует

> What does process_data() do?
process_data(): Filter, Adjust & Rank

Filter: Keep records where value > threshold (default: 0.5)
Adjust: Apply 10% boost if premium=True
Transform: Output id, adjusted value, and flag (if adjusted > 1)
Sort: Return top 10 by adjusted descending
> Add a docstring to process_data()
"""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 находит и исправляет ошибку

> Find the bug in add_item() and fix it
Bug found and fixed: The issue was a mutable default argument. 

Using item_list=[] means all calls to add_item() without providing a 
list argument would share the same default list object, 
causing items to accumulate across calls.
def add_item(item, item_list=None):
    if item_list is None:
        item_list = []
    item_list.append(item)
    return item_list
Разработка программного обеспечения с Claude Code

Устранение неполадок

Проблема Решение
«Превышено окно контекста» Используйте /clear для сброса
Превышены лимиты запросов Подождите и повторите попытку
Низкое качество результатов Фокусируйте запросы на одной задаче
Разработка программного обеспечения с Claude Code

Цикл обратной связи

Цикл разработки: описание, генерация, проверка, доработка

Разработка программного обеспечения с Claude Code

Давайте потренируемся!

Разработка программного обеспечения с Claude Code

Preparing Video For Download...