Kacam.net

Revisione del codice

评审一段重试代码

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

Copia l'istruzione e scegli un modello. Farà l'intervistatore e ti interrogherà atto per atto invece di servirti la risposta.

Su un telefono con l'app installata, il sistema apre direttamente l'app. Dentro WeChat i collegamenti non aprono app esterne: aprilo prima in un browser.

Il testo copiato finisce con la griglia di correzione che il modello usa per valutarti. Non leggerla prima: vale l'averci arrivato da solo.

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

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

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

★★★★☆ · circa 35 min · Cosa si valuta: 重试的前提是幂等、超时、退避与抖动、放大倍数、异常被吞掉

Qui è piantato soprattutto

Ritentativi e timeout Idempotenza Risorse e capacità

Già fatto questo?

Accedi per segnare che l'hai fatto: la prossima volta vedrai in che giorno è stato.

Appunti di chi l'ha fatto

Non ha ancora scritto nessuno. Dopo averlo fatto, racconta cosa è venuto fuori: quale atto ti ha bloccato, quale conclusione hai cambiato dopo.

Accedi per scrivere un appunto.

Come si usa

Il materiale è nostro: qualche decina di righe che sembrano codice funzionante, con una decina di difetti piantati in ordine di gravità. Questa serie non chiede nulla a te: aprine una e comincia.

La postura è da interrogatorio: niente spoiler, niente complimenti, e non saper rispondere è un esito normale. Di' «qui c'è una race condition» e non ti mollerà —— vuole due colonne di cronologia e la dimensione del danno.

Come iniziare

  1. Scegline uno, aprilo, copia il prompt.
  2. Incollalo in una chat nuova e vuota: ti restituirà il codice così com'è.
  3. Leggilo tu e di' uno per uno tutti i problemi che trovi —— nel primo atto non interrompe e non suggerisce. Quando hai finito, di' «è tutto».

Quattro comandi da usare in qualsiasi momento

  • 跳过 Subito al prossimo atto
  • 提示 Dammi una direzione, non la risposta
  • 直说吧 Dammi la risposta completa su questo punto, poi continua a incalzare sul costo
  • 复盘 Vai subito alla scheda finale

La chiusura è un numero

Un tasso di scoperta: quanti ne hai trovati, su quanti, e quanti erano falsi allarmi. Più un numero più sgradevole —— fra quelli che ti sono sfuggiti, quanti sono della gravità massima (si perdono soldi, escono dati, il servizio cade). Quel numero vale più del punteggio.

Tre trappole

  • La griglia in fondo è proprio quella lista di difetti. Non leggerla prima —— una volta letta, l'esercizio è consumato.
  • Non segnalare nomi e stile. Qui conta se si perdono soldi o escono dati; le segnalazioni di stile vengono registrate come falsi allarmi.
  • Appena inizia a elogiarti, rimandalo alla regola «non elogiarmi». Sentirsi confermati copre la domanda «che cosa mi è sfuggito».

Parti dal bonifico: è il più denso di difetti. Se scrivi API tutto il giorno vai dritto all'endpoint di elenco —— il buco di permessi e l'injection sul parametro di ordinamento sono i più facili da ritrovare uguali nel tuo codice. Qualunque tu faccia, poi vai a cercare nel tuo repository: il prodotto vero sono quelle tre verifiche da portarsi via.