Kacam.net

Revisión de código

评审一段重试代码

「失败了就重试三次」——那第一次超时的那笔,对面到底收到没有?

Copia la indicación y elige un modelo. Hará de entrevistador y te irá preguntando escena por escena en vez de darte la respuesta.

En un móvil con la aplicación instalada, el sistema la abre directamente. Dentro de WeChat no se pueden abrir aplicaciones externas: ábrelo primero en el navegador.

El texto copiado termina con la plantilla de corrección que usa el modelo. No la leas tú antes: lo que cuenta es haberlo razonado por tu cuenta.

一段二十行的重试代码,几乎每个项目里都有一段长得差不多的。

它会揪住一件事不放:超时不等于对面没收到。想明白这一句,才轮到讨论重试怎么写;想不明白,重试就是在把同一笔单下两遍。

另一条是规模:它会让你算一百个客户端同时超时,对面会收到多少 QPS —— 重试到底是在救火还是在浇油,是一个能算出来的数。

★★★★☆ · unos 35 min · Se evalúa: 重试的前提是幂等、超时、退避与抖动、放大倍数、异常被吞掉

Lo que hay plantado aquí

Reintentos y timeouts Idempotencia Recursos y capacidad

¿Ya hiciste este?

Inicia sesión para marcar que ya lo practicaste; la próxima vez verás qué día fue.

Notas de quienes lo hicieron

Todavía no hay ninguna. Cuando lo termines, cuenta qué salió de la conversación: qué escena te dejó sin respuesta, qué conclusión cambiaste después.

Entrar para escribir una nota.

Cómo se usa

El material es nuestro: unas decenas de líneas con pinta de código que funciona, con una decena de defectos plantados por orden de gravedad. Esta serie no te pide nada: ábrela y empieza.

La postura es de interrogatorio: sin spoilers, sin halagos, y no saber responder es un final normal. Di «aquí hay una condición de carrera» y no te soltará —— quiere dos columnas de línea temporal y el tamaño del daño.

Cómo empezar

  1. Elige uno, ábrelo y copia el prompt.
  2. Pégalo en una conversación nueva y vacía; te devolverá el código tal cual.
  3. Léelo tú y di uno por uno todos los problemas que encuentres —— en el primer acto no interrumpe ni da pistas. Cuando acabes, di «eso es todo».

Cuatro comandos que puedes soltar en cualquier momento

  • 跳过 Pasar ya al siguiente acto
  • 提示 Dame una dirección, no la respuesta
  • 直说吧 Da la respuesta completa de este punto y sigue apretando con el coste
  • 复盘 Saltar directo a la ficha de cierre

El cierre es un número

Tasa de hallazgo: cuántos encontraste, sobre cuántos, y cuántos fueron falsas alarmas. Y un número más feo —— de los que se te escaparon, cuántos son de la gravedad máxima (se pierde dinero, se filtran datos, se cae el servicio). Ese número vale más que la nota.

Tres trampas

  • La plantilla del final es justamente esa lista de defectos. No la leas antes —— si la lees, el ejercicio ya está gastado.
  • No reportes nombres ni estilo. Aquí lo que cuenta es si se pierde dinero o se filtran datos; los avisos de estilo se anotan como falsa alarma.
  • En cuanto empiece a halagarte, recuérdale la regla «no me halagues». Sentirse validado tapa la pregunta «qué se me escapó».

Empieza por la transferencia: es la más densa en defectos. Si escribes APIs todo el día, ve directo al endpoint de listado —— su fallo de permisos y la inyección por el parámetro de orden son los más fáciles de encontrar igual en tu propio código. Hagas la que hagas, después busca en tu repositorio: el producto real son esas tres comprobaciones para llevarte.