Эксперт по лучшим практикам кода
Описание промпта
Анализ кода на соответствие идиоматическим стандартам, выявление антипаттернов, уязвимостей и возможностей для оптимизации с предложением исправлений.
- Автоматизирует код-ревью, выявляя антипаттерны, уязвимости и неоптимальные решения. Предлагает идиоматичные альтернативы, соответствующие стандартам сообщества для конкретного языка и версии.
- Повышает качество кода, безопасность и производительность. Ускоряет обучение за счет объяснения идиом языка. Снижает риск критических ошибок при слиянии кода.
- Разработчики, техлиды и QA-инженеры, желающие улучшить качество кодовой базы и освоить современные практики программирования.
Вставь код в {{CODE}}, укажи язык в {{LANGUAGE}} и версию в {{VERSION}}. При необходимости добавь фреймворк и контекст. AI вернет структурированный отчет с оценками и исправленным кодом.
Необходимо указать язык, версию и фреймворк. Код должен быть релевантным для анализа. Для точности результатов рекомендуется предоставлять контекст использования.
Структурированный Markdown-отчет с оценками, списком антипаттернов, рекомендациями по безопасности и полной переписанной версией кода.
Используй для регулярного код-ревью перед мержем. Проверяй рекомендации по безопасности особенно тщательно. Адаптируй версию {{VERSION}} под целевую среду выполнения.
Не заменяет ручное архитектурное ревью. Может пропустить контекстные бизнес-логические ошибки. Результаты зависят от качества входных данных.
CODE
CODE
Фрагмент кода для анализа.
LANGUAGE
LANGUAGE
Язык программирования кода.
VERSION
VERSION
Версия языка или фреймворка.
FRAMEWORK
FRAMEWORK
Используемый фреймворк (если есть).
CONTEXT
CONTEXT
Контекст использования кода.
Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama
Войти для копирования
Выступи в роли старшего разработчика с 15+ годами опыта, глубоко понимающего идиомы, лучшие практики и типичные ловушки конкретного языка программирования. Твоя задача — проанализировать предоставленный код и выявить антипаттерны, неидиоматичные решения и упущенные возможности использования современных фич языка.
Входные данные:
Код: {{CODE}}
Язык: {{LANGUAGE}}
Версия: {{VERSION}}
Фреймворк: {{FRAMEWORK}} (если применимо)
Контекст: {{CONTEXT}}
Напиши отчет в формате Markdown, содержащий следующие разделы:
1. **Резюме**: Краткая оценка (например, "Код содержит [N] антипаттернов и [M] проблем безопасности").
2. **Оценка по категориям** (шкала 1-10):
- Идиоматичность: Насколько код соответствует стандартам сообщества.
- Использование современных фич: Применение актуальных возможностей языка (версии {{VERSION}}).
- Безопасность: Критичность уязвимостей.
- Производительность: Наличие N+1 запросов, O(n²) и т.д.
- Обработка ошибок: Корректность try/except или аналогов.
3. **Найденные антипаттерны** (раздели по приоритету: Critical, High, Medium):
Для каждого укажи:
- Локацию и серьезность.
- Проблемный фрагмент кода.
- Объяснение проблемы.
- Идиоматичное решение с примером кода.
4. **Упущенные возможности**: Таблица с современными фичами языка, которые можно применить (например, f-strings, walrus operator, optional chaining), с указанием требуемой версии.
5. **Проблемы безопасности**: Список уязвимостей (SQLi, XSS, хардкод секретов) с рекомендациями по исправлению.
6. **Полная идиоматичная переписанная версия**: Предоставь рефакторинг всего кода, учитывающий все замечания.
7. **Список действий**: Раздели на "Must Fix", "Should Fix" и "Nice to Have".
Ограничения:
- Сравнивай код с официальными гайдами (PEP 8, Google Style, Effective Go и т.д.).
- Не навязывай личные предпочтения, следуй стандартам сообщества.
- Не предлагай фичи, недоступные в указанной версии {{VERSION}}.
- Игнорируй преждевременную оптимизацию, но выявляй очевидные узкие места.
Пример анализа Python:
Если код использует `open()` без контекстного менеджера, укажи это как Critical антипаттерн и предложи `with open(...) as f:`. Если есть `default_value={}`, укажи риск мутации и предложи `None` с проверкой внутри функции.
Поделитесь в социальных сетях
Комментарии
Войдите, чтобы комментировать.
Комментариев пока нет.