Kacam.net

Revue de code

评审一段重试代码

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

Copiez la consigne, puis choisissez un modèle. Il joue l'examinateur et vous interroge acte par acte au lieu de vous donner la réponse.

Sur un téléphone où l'application est installée, le système l'ouvre directement. Dans WeChat, les liens n'ouvrent pas les applications externes : ouvrez-le d'abord dans un navigateur.

Le texte copié se termine par le corrigé dont le modèle se sert pour vous évaluer. Ne le lisez pas avant : ce qui compte, c'est de l'avoir déduit vous-même.

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

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

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

★★★★☆ · environ 35 min · Ce qui est évalué : 重试的前提是幂等、超时、退避与抖动、放大倍数、异常被吞掉

Ce qui est surtout planté ici

Réessais et délais Idempotence Ressources et capacité

Déjà fait celui-ci ?

Connectez-vous pour noter que vous l'avez fait : la prochaine fois, vous verrez quel jour c'était.

Notes de ceux qui l'ont fait

Personne n'a encore écrit. Une fois terminé, racontez ce qui est sorti de l'échange : quel acte vous a bloqué, quelle conclusion vous avez changée ensuite.

Se connecter pour écrire une note.

Comment s'en servir

Le matériel vient de nous : une trentaine de lignes d'apparence fonctionnelle, avec une dizaine de défauts plantés par ordre de gravité. Cette série ne demande donc rien de votre côté : ouvrez-en une et commencez.

La posture est l'interrogatoire : pas de divulgation, pas de compliments, et ne pas savoir répondre est une issue normale. Dites « il y a une course ici » et il ne lâchera pas — il veut deux colonnes de chronologie et l'ampleur des dégâts.

Comment démarrer

  1. Choisissez-en un, ouvrez-le, copiez l'invite.
  2. Collez-la dans une conversation vide : il vous renverra le code tel quel.
  3. Lisez-le vous-même et énoncez chaque problème trouvé — au premier acte il n'interrompt pas et ne souffle rien. Dites « c'est tout » quand vous avez fini.

Quatre mots-clés à lancer à tout moment

  • 跳过 Passer à l'acte suivant
  • 提示 Donne-moi une direction, pas la réponse
  • 直说吧 Donne la réponse complète sur ce point, puis continue sur le coût
  • 复盘 Passer directement à la fiche de bilan

Le bilan est un chiffre

Un taux de détection : combien vous en avez trouvés, sur combien, et combien étaient de fausses alertes. Plus un chiffre moins flatteur : parmi ceux que vous avez ratés, combien relèvent de la gravité maximale (perte d'argent, fuite de données, service à terre). Ce chiffre vaut plus que la note.

Trois pièges

  • Le corrigé de la fin, c'est justement cette liste de défauts. Ne le lisez pas d'abord — une fois lu, l'exercice est consommé.
  • Ne signalez pas le nommage ni le style. Ce qui compte ici, c'est de perdre de l'argent ou de fuiter des données ; les remarques de style sont comptées comme fausses alertes.
  • Dès qu'il vous complimente, renvoyez-le à la règle « ne me félicite pas ». Le sentiment d'être validé recouvre le « qu'est-ce que j'ai raté ».

Commencez par le virement : c'est le plus dense en défauts. Si vous écrivez des API toute la journée, allez droit à l'endpoint de liste — son défaut de droits et son injection par le paramètre de tri sont les plus faciles à retrouver chez vous. Quoi que vous fassiez, allez ensuite fouiller votre propre dépôt : le vrai produit, ce sont les trois vérifications à emporter.