Промпт для рефакторинга React
Этот промпт предназначен для frontend-разработчиков, специализирующихся на React и TypeScript, и предназначен для рефакторинга существующих компонентов пользовательского интерфейса.
Задача - улучшить читаемость, поддерживаемость и расширяемость кода, не изменяя его функциональность. Промпт включает в себя анализ текущего кода, разбиение на переиспользуемые компоненты, применение хуков React, принципов SOLID, оптимизацию производительности, написание unit-тестов, документирование кода и использование линтеров/форматеров.
Он учитывает работу с Redux и Styled Components, а также предоставляет план рефакторинга с оценкой времени. Используйте этот промпт, чтобы создать качественный, хорошо протестированный и поддерживаемый код, соответствующий стандартам команды. Cloude поможет вам в решении задач рефакторинга React-компонентов, предлагая оптимальные решения и помогая избежать распространенных ошибок.
Задача: Рефакторинг существующего компонента пользовательского интерфейса, отвечающего за отображение списка товаров в интернет-магазине.
Цель: Улучшить читаемость, поддерживаемость и расширяемость кода компонента, не изменяя его функциональность. Необходимо снизить цикломатическую сложность, избавиться от дублирования кода и повысить его производительность.
Контекст: Компонент был разработан несколько месяцев назад другим разработчиком и не соответствует текущим стандартам кодирования команды. Он содержит большое количество вложенных компонентов, логика разбросана по разным местам, а код плохо документирован. Компонент использует React, TypeScript, Redux для управления состоянием и Styled Components для стилизации. Текущая кодовая база имеет покрытие тестами 60%, и необходимо поддерживать или улучшать этот процент в процессе рефакторинга.
Инструкции:
- Проанализируйте текущий код компонента и определите области, требующие улучшения.
- Разбейте компонент на более мелкие, переиспользуемые компоненты, каждый из которых отвечает за определенную задачу.
- Используйте хуки React для выделения логики состояния и побочных эффектов.
- Примените принципы SOLID для создания гибкого и расширяемого кода.
- Оптимизируйте производительность компонента, используя memoization, lazy loading и другие техники.
- Напишите unit-тесты для всех новых и измененных компонентов, чтобы обеспечить их правильную работу.
- Документируйте код, используя JSDoc или аналогичный инструмент.
- Используйте линтер и форматер кода (например, ESLint и Prettier) для обеспечения соответствия кода стандартам кодирования команды.
- Опишите этапы рефакторинга в виде списка задач.
- Предложите варианты улучшения архитектуры компонента.
- Укажите потенциальные риски и способы их минимизации.
- Учитывайте особенности работы с Redux и Styled Components.
- Создайте план рефакторинга, включающий оценку времени, необходимого для выполнения каждой задачи.
Пример работы "Промпт для рефакторинга React"
План рефакторинга компонента списка товаров
1. Анализ текущего состояния (2 часа)
Области, требующие улучшения:
Типичные проблемы:
- Монолитная структура компонента
- Смешивание бизнес-логики и UI-логики
- Неоптимизированные ре-рендеры
- Отсутствие типизации или слабая типизация
- Дублирование кода
- Прямая зависимость от структуры Redux store
- Неэффективные селекторы Redux
- Отсутствие разделения на presentation и container компоненты
2. Архитектура после рефакторинга
src/
├── features/
│ └── products/
│ ├── components/
│ │ ├── ProductList/
│ │ │ ├── ProductList.tsx
│ │ │ ├── ProductList.styles.ts
│ │ │ ├── ProductList.test.tsx
│ │ │ └── index.ts
│ │ ├── ProductItem/
│ │ │ ├── ProductItem.tsx
│ │ │ ├── ProductItem.styles.ts
│ │ │ ├── ProductItem.test.tsx
│ │ │ └── index.ts
│ │ ├── ProductCard/
│ │ ├── ProductPrice/
│ │ ├── ProductImage/
│ │ └── ProductFilters/
│ ├── hooks/
│ │ ├── useProducts.ts
│ │ ├── useProductFilters.ts
│ │ └── useProductSort.ts
│ ├── selectors/
│ │ └── productSelectors.ts
│ ├── types/
│ │ └── product.types.ts
│ └── utils/
│ ├── productHelpers.ts
│ └── productFormatters.ts
3. Этапы рефакторинга
Этап 1: Подготовка (4 часа)
Задачи:
- ✅ Создать ветку для рефакторинга
- ✅ Зафиксировать текущее поведение компонента (snapshot тесты)
- ✅ Настроить ESLint и Prettier
- ✅ Определить типы данных (TypeScript interfaces/types)
// types/product.types.ts
/**
* Основной тип товара
*/
export interface Product {
id: string;
name: string;
price: number;
originalPrice?: number;
currency: string;
description: string;
imageUrl: string;
category: string;
inStock: boolean;
rating?: number;
reviewCount?: number;
}
/**
* Параметры фильтрации товаров
*/
export interface ProductFilters {
category?: string;
minPrice?: number;
maxPrice?: number;
inStockOnly?: boolean;
searchQuery?: string;
}
/**
* Параметры сортировки
*/
export type SortOption = 'price-asc' | 'price-desc' | 'name' | 'rating';
export interface ProductListProps {
products: Product[];
isLoading?: boolean;
error?: string | null;
onProductClick?: (product: Product) => void;
}
Оценка времени: 4 часа
Этап 2: Оптимизация Redux (6 часов)
Задачи:
- ✅ Создать мемоизированные селекторы с reselect
- ✅ Оптимизировать структуру store (нормализация данных)
- ✅ Разделить actions и reducers
...
Похожие промпты
Mikhail
30.01.2026
Промпт для React интерфейса задач фронт
Этот промпт предназначен для frontend-разработчиков с опытом работы 2 года и поможет в создании интерактивного …
Mikhail
30.01.2026
Промпт для рефакторинга JavaScript/TS кода
Этот промпт предназначен для фронтенд-разработчиков, специализирующихся на улучшении существующего кода. Он позволяет эффективно рефакторить фрагменты …
Mikhail
04.02.2026
Nuxt 3 Промпт для начинающих
Этот промпт предназначен для Nuxt-разработчика. Ассистент выполняет роль ментора, и направлен на помощь начинающему веб-разработчику …
Mikhail
30.01.2026
Промпт для vLLM: Backend-разработка
Этот промпт предназначен для backend-разработчиков, специализирующихся на развертывании моделей машинного обучения. Он поможет разработать и …
Mikhail
26.11.2025
Промпт для проверки кода на ошибки - Claude Opus
Промпт для автоматической проверки кода на синтаксические ошибки, логические неточности и соответствие стандартам программирования. Разработан …
Mikhail
22.11.2025
Промпт для создания AI-агентов в CrewAI
Этот промпт предназначен для менторов, разработчиков и технических специалистов, стремящихся к эффективной автоматизации сложных рабочих …
Авторизуйтесь, чтобы оставить комментарий.
Нет комментариев.