Паттерны рабочего процесса Codex
Codex можно интегрировать в различные рабочие процессы разработки — от повседневного написания кода до сложного рефакторинга, что значительно повышает эффективность.
Ежедневный рабочий процесс разработки
Ежедневная разработка — это наиболее распространённый паттерн рабочего процесса, подходящий для создания новых функций или небольших изменений.
Этапы рабочего процесса
| Шаги | Действие | Взаимодействие с Codex |
|---|---|---|
| 1 | Уточнение требований | Опишите функциональность, которую вы хотите реализовать |
| 2 | Анализ Codex | Codex понимает структуру проекта и соглашения |
| 3 | Обсуждение решения | Согласуйте подход к реализации с Codex |
| 4 | Генерация кода | Codex пишет код и изменяет файлы |
| 5 | Проверочное тестирование | Запустите тесты, чтобы убедиться в корректности функциональности |
| 6 | Итеративная оптимизация | Скорректируйте код на основе обратной связи |
Пример: добавление нового эндпоинта API
Ежедневный процесс разработки
"Добавьте GET-эндпоинт по пути /api/users, который возвращает список пользователей,
Поддерживает параметры пагинации page и limit
# Шаги 2-3: Codex анализирует и подтверждает план
Codex проанализирует существующую структуру API и подтвердит:
- Места определения маршрутов
- Методы запросов к базе данных
- Спецификации формата ответа
# Шаг 4: Генерация кода
Codex автоматически создаёт:
- Определения маршрутов
- Логика запросов к данным
- Обработка ошибок
- Форматирование ответа
# Шаг 5: Проверочное тестирование
"Запустите тесты и проверьте новую конечную точку"
# Шаг 6: Итеративная оптимизация
"Добавьте поддержку кэша; время отклика должно быть меньше 100ms"
Рабочий процесс понимания кода
Когда вам нужно понять устаревший код или незнакомые проекты, используйте этот рабочий процесс.
Исследовательский рабочий процесс
- Начните с точки входа и позвольте Codex объяснить общую архитектуру
- Постепенно погружайтесь в ключевые модули, чтобы понять основную логику
- Отслеживайте поток данных и цепочки вызовов
- Обобщите ключевые моменты и важные соображения
Понимание устаревших проектов
"Проанализируйте общую архитектуру этого проекта, объясните основные модули и их взаимосвязи"
# Основные модули
"Объясните, как работает модуль src/auth, включая процесс аутентификации и проверки прав доступа"
# Трассировка потока данных
"Проследите полный поток от запроса до ответа после входа пользователя"
# Ключевое резюме
"Обобщите основные паттерны проектирования этого проекта и области, требующие внимания"
Быстрое освоение новых проектов
Руководство по началу работы с новыми проектами
"Что это за проект? Каковы его основные возможности и технологический стек?"
# Руководство по разработке
"Как запустить локальную среду разработки? Как запускать тесты?"
# Стандарты кода
"Каковы стандарты кода для этого проекта? Какие есть соглашения?"
# Навигация по модулям
Какие файлы следует изменить, чтобы добавить функцию X?
Рабочий процесс рефакторинга
Рефакторинг требует осторожного обращения; Codex может помочь вам систематически улучшать структуру кода.
Принципы рефакторинга
- Сначала поймите существующую структуру кода
- Рефакторите небольшими шагами, улучшайте постепенно
- Проверяйте на каждом шаге, чтобы убедиться, что функциональность остаётся неизменной
- Поддержание покрытия тестами
Этапы процесса рефакторинга
| Шаги | Описание |
|---|---|
| Выявление проблем | Codex анализирует код и выявляет области, требующие улучшения |
| Разработка плана | Обсуждение плана рефакторинга, подтверждение направления улучшений |
| Пошаговое выполнение | Внесение небольших изменений, проверка после каждого изменения |
| Тестирование и проверка | Запуск всех тестов для проверки корректности функциональности |
| Очистка и оптимизация | Удаление избыточного кода, оптимизация именования |
Пример рефакторинга
Проанализируйте модуль src/utils, выявите дублирование кода и нерациональные проектные решения
# Составление плана
Обсудите, как рефакторить этот модуль, сохраняя обратную совместимость
# Пошаговое выполнение
Шаг 1: Выделите общие функции в utils/common.py
# Тестирование и проверка
Запустите все тесты, чтобы убедиться, что рефакторинг не нарушил функциональность
# Переход к следующему шагу
Шаг 2: Упростите сложные функции, разделив их на более мелкие единицы
При рефакторинге сначала используйте режим /plan, чтобы создать план, а затем выполняйте шаг за шагом, чтобы избежать крупных единовременных изменений.
Процесс исправления ошибок
Codex поможет быстро найти и исправить ошибки.
Процесс исправления
| Шаги | Действие |
|---|---|
| Опишите проблему | Опишите симптомы ошибки и условия её возникновения |
| Предоставьте информацию | Поделитесь сообщениями об ошибках, логами и скриншотами |
| Найдите первопричину | Codex анализирует и находит первопричину |
| Сгенерируйте исправление | Codex предлагает исправление |
| Проверьте исправление | Запустите тесты, чтобы убедиться, что проблемы устранены |
| Предотвращение повторения | Добавьте тесты, покрывающие этот сценарий |
Пример исправления ошибки
Пользователи иногда сталкиваются с ошибками 500 при входе в систему, и журнал ошибок показывает:
TypeError: Cannot read property 'id' of undefined"
# Предоставьте информацию
Вот полный стек ошибки: [вставьте информацию о стеке]
# Найдите первопричину
После анализа Codex обнаружил проблему: объект user в некоторых случаях равен null
# Сгенерируйте исправление
Исправьте эту проблему и убедитесь, что она не влияет на обычный процесс входа
# Проверка исправления
Запустите все тесты, связанные со входом в систему
# Предотвращение повторения
"Добавьте тест, покрывающий сценарий, в котором объект пользователя равен null"
Отладка с помощью скриншотов
Используйте скриншоты, чтобы помочь Codex понять проблему:
Ввод изображений
codex -i error-screenshot.png "Объясните эту ошибку и исправьте её"
# Вставить скриншот в IDE
Вставьте скриншот прямо в диалог и опишите проблему
Рабочий процесс проверки кода
Codex может проверять изменения кода, выявлять проблемы и предлагать улучшения.
Режим проверки
| Mode | Способ запуска | Применимые сценарии |
|---|---|---|
| Режим проверки | Включить в приложении | Проверить незакоммиченные локальные изменения |
| команда /review | Использовать в CLI/IDE | Проверить изменения в указанной области |
| Интеграция с GitHub | @codex review в PR | Проверить Pull Request |
Локальная проверка
Режим проверки
Нажмите на значок глаза на панели инструментов
# Или используйте это в CLI
/ревью
# Укажите область проверки
/review src/auth/
# Проверка конкретных коммитов
/review HEAD~3..HEAD
Настройте фокус проверки
Укажите фокус проверки
/review на предмет проблем безопасности
# Проверка производительности
/review на предмет регрессий производительности
# Стиль кода
/review на предмет согласованности стиля кода
# Комплексная проверка
/review --detailed
Рабочий процесс написания тестов
Codex может помочь вам писать и поддерживать тестовый код.
Тестирование новой функции
Написание тестов
"Напишите модульные тесты для GET-эндпоинта src/api/users.py,
покрывающие нормальные ответы, пустой список, границы пагинации и другие сценарии"
# Проверка тестов
"Запустите только что написанные тесты"
# Дополните покрытие
"Проверить покрытие тестами и дополнить непокрытые граничные случаи"
Исправить тесты
Исправить падающие тесты
"Тест test_user_login не прошёл; проанализируйте причину и исправьте его"
# Пакетное исправление
"Запустите все тесты и исправьте падающие тесты"
Рабочий процесс генерации документации
Codex может помочь генерировать и обновлять документацию.
Сгенерировать документацию
Генерация документации
"Сгенерируйте документацию API для модуля src/api, включая форматы запросов и ответов для каждого эндпоинта."
# Обновление README
"Обновите README.md, добавив описания и примеры использования новых функций."
# Встроенные комментарии
"Добавьте комментарии к сложным функциям, поясняющие ключевую логику."
Лучшие практики
Выбор рабочего процесса
- Ежедневная разработка: непрерывное взаимодействие, итеративное улучшение
- Рефакторинг: сначала планирование, затем выполнение, проверка небольшими шагами
- Исправление ошибок: предоставьте достаточно информации и проверьте первопричину
- Ревью: проводите регулярно, сосредоточьтесь на проблемах безопасности
Советы по эффективности
- Используйте AGENTS.md для определения соглашений проекта, сокращая повторяющиеся инструкции
- Используйте Skills для инкапсуляции типовых рабочих процессов
- Используйте Worktree для изоляции разных задач
- Настройте разумную политику Approval
ЧАВО
В: Как справляться с крупномасштабным рефакторингом?
Используйте режим /plan, чтобы создать пошаговый план и проверять после каждого шага.
В: Как предотвратить повторное появление ошибок после исправления?
Добавьте отдельные тесты для покрытия этого сценария и добавьте соответствующие правила проверки в AGENTS.md.
В: Как помочь Codex понять соглашения проекта?
Создайте файл AGENTS.md, чтобы определить технологический стек проекта, соглашения о коде, требования к тестированию и т. д.
В: Как результаты ревью передаются команде?
Используйте интеграцию с GitHub для ревью в PR, результаты будут автоматически добавляться в виде комментариев.
Другие расширения