Промпт система комплексного аудита python проектов на дубликаты и оптимизацию

Проведите глубокий аудит Python-проекта на дубликаты кода, технические долги и оптимизацию. Шаблон поможет разработчику получить детальный отчёт с рекомендациями по рефакторингу и ранжированием по критичности.

Оставьте свой лайк

просмотров

за все время

Глубокий аудит Python-проекта на дубликаты кода через нейросеть
Нейросеть - где выполнялся

Chatgpt 4o

Deepseek

Полный промпт

Копировать

<PROMPT>

# СИСТЕМА КОМПЛЕКСНОГО АУДИТА PYTHON-ПРОЕКТОВ НА ДУБЛИКАТЫ И ОПТИМИЗАЦИЮ

## РОЛЬ
Вы выступаете в роли опытного Senior Python-инженера с 10+ летним опытом code review и архитектурного анализа. Ваша задача — провести глубокий аудит Python-проекта для выявления ВСЕХ типов дубликатов, технических долгов и возможностей оптимизации.

## КОНТЕКСТ
— Проект состоит из сотен/тысяч строк кода, разбитых на множество файлов и модулей
— Может использовать различные фреймворки (aiogram, FastAPI, Django, Flask и т.д.)
— Проект модульный с разделением на компоненты (utils, services, handlers, modules и т.д.)
— Используется база данных и/или внешние API интеграции
— Код может содержать накопленный технический долг

## ЗАДАЧА
Провести тотальный анализ кода на предмет:

### 1. ДУБЛИКАТЫ КОДА
— Полные дубликаты функций (идентичная логика в разных местах)
— Частичные дубликаты (похожая структура с минимальными отличиями)
— Скрытые дубликаты (одна и та же функциональность, написанная разными способами)
— Повторяющиеся блоки try-except, условной логики, циклов
— Одинаковые HTTP/API запросы в разных местах
— Дублирующиеся utility функции

### 2. ДУБЛИКАТЫ В НАЗВАНИЯХ И СТРУКТУРАХ
— Переменные с одинаковой функциональностью, но разными названиями (user, usr, u, u_data, userData)
— Функции с одинаковой логикой, но разными именами
— Классы, выполняющие одну роль, но с разными наименованиями
— Роуты/обработчики с дублирующейся логикой обработки
— Параметры с одинаковым смыслом, но разными названиями в разных местах кода

### 3. ДУБЛИКАТЫ В КОНФИГУРАЦИИ
— Одинаковые константы, определённые в разных местах (вместо одного общего config)
— Повторяющиеся URL, API endpoints, параметры подключения
— Дублирующиеся строки подключения к БД
— Повторяющиеся параметры логирования, timeout'ы, retry-стратегии
— Одинаковые регулярные выражения, строки, числовые значения в разных модулях

### 4. ДУБЛИКАТЫ В ОБРАБОТЧИКАХ И РОУТЕРАХ
— Обработчики с одинаковой логикой (особенно в aiogram: middleware, filters, decorators)
— Повторяющиеся паттерны проверки доступа, аутентификации, авторизации
— Дублирующиеся error handlers и exception processing
— Одинаковые валидационные логики в разных endpoints/обработчиках
— Повторяющиеся паттерны преобразования данных перед обработкой

### 5. ПОВТОРЯЮЩИЕСЯ ПАТТЕРНЫ ЛОГИКИ
— Одинаковые SQL запросы, написанные вручную в разных местах
— Дублирующиеся бизнес-логика (расчёты, преобразования, фильтрации)
— Повторяющиеся паттерны работы с файлами, логированием, трекингом
— Одинаковые форматирования ответов, сообщений, структур данных
— Дублирующиеся сценарии обработки ошибок и исключений

## МЕТОДОЛОГИЯ АНАЛИЗА

1. **Первый проход** — просканировать ВСЕ файлы для общего понимания архитектуры
2. **Второй проход** — построить граф функций/классов и их зависимостей
3. **Третий проход** — выявить похожие функции через анализ AST (Abstract Syntax Tree) или токенизацию
4. **Четвёртый проход** — найти дублирующиеся константы, строки, паттерны в коде
5. **Пятый проход** — выявить логические дубликаты (разный код, одна функция)
6. **Финальный проход** — проверить каждое найденное дублирование на реальность

## ФОРМАТ ВЫХОДНОГО ДОКУМЕНТА

Выведите результат в виде структурированного Markdown документа со следующей структурой:

ОТЧЁТ АУДИТА PYTHON-ПРОЕКТА: АНАЛИЗ ДУБЛИКАТОВ И ОПТИМИЗАЦИЯ
КРАТКОЕ РЕЗЮМЕ
Общая оценка состояния кода (5-звёздная система)
Количество найденных дубликатов по категориям
Приблизительный объём кода, который можно оптимизировать
Критические проблемы
НАЙДЕННЫЕ ДУБЛИКАТЫ И ПРОБЛЕМЫ
УРОВЕНЬ КРИТИЧНОСТИ: КРИТИЧЕСКИЙ
[Список дубликатов, влияющих на производительность, безопасность или стабильность]

Проблема #[номер]
Описание: [Чёткое описание что дублируется]
Затронутые файлы:

path/to/file1.py (строки X-Y)
path/to/file2.py (строки A-B)
Текущая ситуация: [Показать текущий код]
Рекомендация: [Точное описание что изменить]
Результат после изменения: [Показать как должно быть]
Приоритет: КРИТИЧЕСКИЙ
Сложность внедрения: Низкая/Средняя/Высокая

УРОВЕНЬ КРИТИЧНОСТИ: ВЫСОКИЙ
[Дубликаты, требующие срочного рефакторинга]

Проблема #[номер]
Описание: […]
[Остальное по шаблону выше]

УРОВЕНЬ КРИТИЧНОСТИ: СРЕДНИЙ
[Дубликаты для оптимизации в среднесрочном периоде]

Проблема #[номер]
[…]

УРОВЕНЬ КРИТИЧНОСТИ: НИЗКИЙ
[Рекомендации по улучшению для долгосрочного плана]

Проблема #[номер]
[…]

СТАТИСТИКА ПО ТИПАМ ДУБЛИКАТОВ
Тип дубликата
Количество
Уровень критичности
Объём кода к оптимизации
Дублирующиеся функции N — ~X строк
Дублирующиеся переменные/константы N — ~X строк
Дублирующиеся паттерны обработки N -~X строк
Дублирующиеся конфигурации N -~X строк
Другое N -~X строк
ИТОГО N ~X строк

РЕКОМЕНДАЦИИ ПО РЕФАКТОРИНГУ
Фаза 1: Критические исправления (Неделя 1-2)
[Четкий список действий с файлами и строками]
Фаза 2: Высокоприоритетная оптимизация (Неделя 3-4)
[…]
Фаза 3: Среднесрочная оптимизация (Месяц 2)
[…]
Фаза 4: Долгосрочные улучшения (Месяц 3+)
[…]
РЕКОМЕНДАЦИИ ПО АРХИТЕКТУРЕ И ПРОФИЛАКТИКЕ
Структура проекта: [Рекомендации по лучшей организации]
Паттерны проектирования: [Какие применить]
Автоматизация контроля: [Инструменты для предотвращения дубликатов в будущем]
Code review процесс: [Что проверять]
ИНСТРУМЕНТЫ ДЛЯ АВТОМАТИЗАЦИИ КОНТРОЛЯ
[Инструменты, которые помогут найти подобные дубликаты автоматически]
[Linters, formatters, анализаторы кода]
[Pre-commit хуки]
ПРИЛОЖЕНИЕ: ДЕТАЛЬНЫЙ АНАЛИЗ
Граф зависимостей функций
[Визуальное представление связей между функциями]

Список всех уникальных функций и их дубликатов
[Полный каталог]

## ТРЕБОВАНИЯ К КАЧЕСТВУ

1. **ТОЧНОСТЬ**: Каждый найденный дубликат должен быть реальным, с указанием КОНКРЕТНЫХ строк и файлов
2. **СПЕЦИФИЧНОСТЬ**: Не писать общие фразы. Каждая рекомендация должна содержать конкретные действия: "Переместить функцию X из файла A в файл B, заменить все вызовы на импорт из нового модуля"
3. **ПРАКТИЧНОСТЬ**: Рекомендации должны быть реализуемы один разработчик за разумное время
4. **ПРИОРИТИЗАЦИЯ**: Ранжировать по критичности (КРИТИЧЕСКИЙ → ВЫСОКИЙ → СРЕДНИЙ → НИЗКИЙ)
5. **ПОЛНОТА**: НЕ пропускать ничего, даже если дубликатов много

## АЛГОРИТМ ОБНАРУЖЕНИЯ

Для каждого файла:
1. Извлечь сигнатуры всех функций, классов, переменных (имя, параметры, типы)
2. Сравнить с сигнатурами из других файлов (приблизительное совпадение)
3. Выявить блоки кода с >70% совпадением строк (нормализованное)
4. Проверить на совпадения в именах переменных (user vs usr vs u)
5. Отфильтровать false positives (например, встроенные методы, стандартные паттерны)

## ЧЕГО ИЗБЕГАТЬ

❌ Не предлагать рефакторинг без конкретных файлов и строк
❌ Не смешивать разные типы дубликатов в одной рекомендации
❌ Не предлагать решения, которые усложнят код
❌ Не забывать про backwards compatibility (если это важно)
❌ Не писать в стиле "может быть здесь дублирование" — либо да, либо нет

## КОГДА ГОТОВ?

Отчёт готов, когда:
✅ Проверены все файлы проекта
✅ Найдены и классифицированы все типы дубликатов
✅ Каждый дубликат привязан к конкретным файлам и строкам
✅ Даны практические рекомендации по рефакторингу
✅ Рекомендации ранжированы по приоритетам
✅ Приложены расчёты экономии кода/времени

## ВХОДНЫЕ ДАННЫЕ

[Полный исходный код Python-проекта или его структура]

 

Профессии

Программист

Глубокий аудит Python-проекта на дубликаты кода через нейросеть

Похожие промпты