Рабочий процесс Explore-Plan-Code

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

Dani Zysman

AI Curriculum Manager @ DataCamp

Проблема «нырнуть с головой»

Айсберг: запрос над водой, скрытая сложность под водой

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

Рабочий процесс

Блок-схема: Init → Explore → Plan → Code

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

Обзор проекта API

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

Простой Music Analytics API с уже существующими паттернами, которые нужно учитывать.

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

CLAUDE.md: память проекта

CLAUDE.md:

  • Даёт Claude постоянный контекст о вашем проекте
  • Claude автоматически считывает его в каждой сессии
  • Не нужно каждый раз заново объяснять настройки
Разработка программного обеспечения с Claude Code

Начните с /init

> /init
Music Analytics API
A Flask-based REST API for music data analytics.

Project Structure
- app.py       Flask application entry point
- routes.py    API endpoint definitions
- analytics.py Statistical analysis functions

Coding Conventions
- Use type hints for function parameters
- Include docstrings for all public functions
- Follow PEP 8 style guidelines
Разработка программного обеспечения с Claude Code

Режим планирования

  • Переключайте клавишами Shift+Tab или командой /plan
  • После создания плана нажмите Ctrl+G, чтобы визуализировать, одобрить, просмотреть или отредактировать его
Разработка программного обеспечения с Claude Code

Пропуск планирования

> 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

Сначала план, потом код

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

Context
The music analytics API has session infrastructure in place
(flask_session, SECRET_KEY, session already imported in routes)
but no authentication.

Files to Modify
- models.py:  add User class, UserStore class, user_store singleton
- routes.py:  expand import, add login route

No changes needed to app.py, config.py, middleware.py, or analytics.py.
Разработка программного обеспечения с Claude Code

Расширенное мышление

> think about how to add authentication to this API
Разработка программного обеспечения с Claude Code

Уровни мышления

Команда Глубина рассуждений
think Базовые рассуждения
think more Расширенные рассуждения
think a lot Комплексные рассуждения
think longer Рассуждения с увеличенным временем
ultrathink Максимальные рассуждения
Разработка программного обеспечения с Claude Code

Управление контекстным окном и токенами

excalidraw: контекстное окно заполняется запросами и ответами, с разбивкой по токенам

  • «Превышено контекстное окно» → сессия слишком длинная, используйте /clear
  • Claude отдаёт приоритет последним сообщениям при заполнении контекста
Разработка программного обеспечения с Claude Code

Полный рабочий процесс

Блок-схема: /init → Explore → Plan → Review → Code → Test

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

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

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

Preparing Video For Download...