Kacam.net

Ревью кода

评审一段转账代码

二十行的转账接口。你先读一遍,能找出几条?

Скопируйте заготовку и выберите модель. Она будет вести себя как интервьюер и разбирать задачу с вами по действиям, а не выкладывать ответ.

ChatGPT Claude DeepSeek 豆包 Kimi Gemini

На телефоне с установленным приложением система откроет само приложение. Внутри WeChat внешние приложения не открываются — сначала откройте ссылку в браузере.

В конце скопированного текста лежит разбор, по которому модель вас оценивает. Не читайте его заранее: ценно именно то, что вы дошли сами.

一段看起来能跑的转账代码:查余额、判断、扣款、加款、写日志。它不会一上来告诉你哪里有问题 —— 第一幕它闭嘴,你自己读完、说完为止,然后才按严重度报你漏了哪些。

每一条它都不接受名词。你说「这里有并发问题」,它会要你画两列时间线:两个请求分别走到哪一步,账上最后的数是多少。画不出来的记成猜的。

收尾给的是发现率,还有一个更难看的数:你漏掉的里,有几条会直接让钱不见。

★★★★☆ · около 40 мин · Что проверяется: 事务边界、读改写竞态、金额类型、幂等、鉴权、日志当账本

Что здесь в основном подложено

Конкурентность Границы транзакции Идемпотентность

Делали эту задачу?

Войдите, чтобы отметить, что задача пройдена: в следующий раз будет видно, когда это было.

Заметки тех, кто уже прошёл

Пока никто не написал. После разбора расскажите, что из него вышло: на каком действии вы застряли и какой вывод потом поменяли.

Войти, чтобы написать заметку.

Как этим пользоваться

Материал наш: несколько десятков строк с виду рабочего кода и десяток дефектов, подложенных по убыванию тяжести. От вас эта серия не требует ничего — открывайте и начинайте.

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

С чего начать

  1. Выберите одно, откройте, скопируйте промпт.
  2. Вставьте в новый пустой чат — он сам вернёт вам этот код без изменений.
  3. Читайте сами и назовите все найденные проблемы по одной — в первой сцене он не перебивает и не подсказывает. Закончив, скажите «это всё».

Четыре команды, их можно бросить в любой момент

  • 跳过 Сразу к следующей сцене
  • 提示 Дай направление, но не ответ
  • 直说吧 Дай полный ответ по этому пункту и продолжай спрашивать про цену
  • 复盘 Сразу к итоговой карточке

В конце — цифра

Доля находок: сколько нашли сами, из скольких, и сколько было ложных срабатываний. И ещё одна, менее приятная цифра — сколько из пропущенного относится к высшей степени тяжести (пропадают деньги, утекают данные, падает сервис). Она полезнее общей оценки.

Три ловушки

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

Начните с перевода денег — там дефекты плотнее всего. Если вы каждый день пишете API, идите сразу к списочной ручке: дыра в правах и инъекция через параметр сортировки легче всего находятся в собственном коде. Что бы вы ни прошли, потом поищите то же самое у себя в репозитории — настоящий результат это три проверочных вопроса из итоговой карточки.