Подивіться на 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(): Фільтрування, коригування й ранжування

Фільтр: лишає записи, де value > threshold (типово: 0.5)
Коригування: +10% якщо premium=True
Перетворення: виводить id, adjusted та flag (якщо adjusted > 1)
Сортування: повертає топ-10 за adjusted спаданням
> Add a docstring to process_data()
"""Фільтрує записи за порогом, додає 10% для premium і повертає 
топ-10 за скоригованим значенням."""
Розробка ПЗ з 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
Ваду знайдено й виправлено: проблема — змінний аргумент за замовчуванням. 

Через 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

Усунення несправностей

Проблема Рішення
"Context window exceeded" Скористайтесь /clear для скидання
Ліміти запитів Зачекайте й повторіть
Слабкі результати Формулюйте промпт під одне завдання
Розробка ПЗ з Claude Code

Цикл зворотного зв'язку

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

Розробка ПЗ з Claude Code

Давайте потренуємось!

Розробка ПЗ з Claude Code

Preparing Video For Download...