ChatGPT Код 👁 20

Code review с приоритизацией замечаний

Структурированный code review с приоритизацией. Подходит для самопроверки перед PR или для ревью кода джунов.

Промпт Запустить →
Проверь мой собственный код перед тем, как я его закоммичу — по-честному, как проверил бы старший коллега, но пока никто не видит.

Что за код: [КОД: функция расчёта скидки в интернет-магазине, Python, вызывается из корзины и из админки]
Где будет работать: [УСЛОВИЯ: боевой сервер, 50 заказов в минуту в пик, деньги клиента]
Что я сам подозреваю: [СОМНЕНИЯ: кажется, при нескольких скидках подряд считается неверно, но воспроизвести не смог]
Чего я НЕ хочу слышать: [БЕЗ: советов переписать на другом фреймворке и добавить типизацию везде]

Разбери в таком порядке:
1. Ломается ли: ошибки, из-за которых код даст неверный результат или упадёт. Для каждой — вход,
   на котором это видно, и правка.
2. Опасно ли: гонки, потеря денег или данных, доступ не туда, необработанные исключения на границе.
3. Подтверди или опровергни мои сомнения из поля СОМНЕНИЯ — прямым разбором, а не «возможно».
4. Что стоит поправить сейчас, пока код в руках, и что можно оставить на потом. Разделяй явно.
5. Один-два теста, которые стоит написать до коммита, — на то, что реально может отвалиться.

Отсечка. Не начинай с нейминга и длины строк, если в коде теряются деньги: порядок замечаний —
по цене ошибки, а не по удобству чтения. Не пиши «рекомендуется рассмотреть возможность» — либо
это проблема с последствием, либо не пункт. Не предлагай архитектурных переделок: я коммичу через
час, мне нужно то, что можно поправить сейчас. Не выдумывай контекст, которого нет в коде: чего
не видно, спроси одним списком в конце.

Проверка перед выдачей: для каждого пункта из первых двух разделов назови конкретный вход,
на котором проблема проявится. Не получается назвать — перенеси пункт в «на потом».
Запустить промпт →

Пример результата

P1 (blocking) — Безопасность: strike 12: SQL-запрос через f-string → SQL-injection. Замена: использовать параметризацию `cur.execute("SELECT * FROM users WHERE id = ?", (user_id,))`. P1 — Логика: строка 25: деление без проверки на 0 → ZeroDivisionError. Замена: добавить guard. P2 — Производительность: строка 40: O(n²) из-за вложенного цикла по списку. Заменить на set() и получить O(n). P3 — Читаемость: функция `proc()` — переименовать в `process_payment()`. Вердикт: 2 P1 — нельзя мержить, остальное — после.

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

Рефакторинг легаси-модуля в Kimi: карта, план, код по шагам
Kimi
Рефакторинг легаси-модуля в Kimi: карта, план, код по шагам
Kimi
Сайт-визитка с 3D одним промптом — Kimi K3
DeepSeek
Телеграм-бот на n8n в DeepSeek: схема нод, которую можно собрать за вечер
Claude
Системный промпт для AI Agent ноды n8n — Claude

Полезные статьи

ChatGPT vs Claude: какую нейросеть выбрать в 2026
Промт для натальной карты: три промпта и проверка расчёта
Промт для резюме под вакансию: разбор промпта на живых прогонах

Все гайды →