docs: le contexte de montage trop lâche, et chercher à voir plutôt qu'à casser
Troisième face du même mode : la prémisse fausse n'est pas dans le code testé, elle est dans ce qui l'entoure. Jeu d'essai trop homogène, deux horloges au même décalage, contexte de montage trop lâche — même constante. Et la leçon de découverte, à côté de « qu'est-ce que ce contrôle aurait attrapé s'il avait échoué ? » : le chemin des flèches a été trouvé en cherchant comment OBSERVER un correctif, pas en cherchant le défaut. Se demander « par quel chemin puis-je voir ça ? » fait apparaître des chemins que « comment je casse ça ? » ne fait pas apparaître. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
This commit is contained in:
parent
1dece8eb33
commit
5a3f9a4fc6
34
CLAUDE.md
34
CLAUDE.md
@ -626,6 +626,40 @@ comme une absence côté BOX*. Un provider non chargé, une carte sans domaine
|
||||
annonce « non publié » sur une donnée que la box publie. Avant d'écrire qu'une chose n'est
|
||||
pas publiée, vérifier qu'on est allé la chercher.
|
||||
|
||||
### La prémisse fausse n'est pas dans le code testé — elle est dans ce qui l'entoure
|
||||
|
||||
Trois formes rencontrées, et la constante vaut mieux que les trois exemples :
|
||||
|
||||
| Ce qui était faux | Le défaut resté invisible |
|
||||
|---|---|
|
||||
| un **jeu d'essai trop homogène** | ce que seule l'hétérogénéité révèle |
|
||||
| **deux horloges au même décalage** | un instant rendu en UTC |
|
||||
| un **contexte de montage trop lâche** | un widget qui ne se contraint pas lui-même |
|
||||
|
||||
Le dernier est du 2026-09-08. Tous les tests montaient `ImpactSaveBar` dans une hauteur
|
||||
**infinie** (un `ListView`), où le `MainAxisSize.max` d'un `Column` se comporte exactement
|
||||
comme `min`. Déplacée en `bottomNavigationBar` — contrainte lâche mais **bornée** — la barre
|
||||
a pris tout l'écran et écrasé le corps à zéro. **320 tests verts, et c'est l'appareil en
|
||||
release qui l'a trouvé.**
|
||||
|
||||
> Un widget qui ne se contraint pas lui-même **hérite du contexte**. Le déplacer change ses
|
||||
> contraintes, donc sa taille, sans qu'une ligne de son code ait bougé. Un test qui ne
|
||||
> reproduit pas les contraintes du vrai montage ne teste pas le widget : il teste un cas
|
||||
> particulier commode.
|
||||
|
||||
### Chercher à VOIR est plus productif que chercher à casser
|
||||
|
||||
À poser à côté de « qu'est-ce que ce contrôle aurait attrapé s'il avait échoué ? ».
|
||||
|
||||
Le chemin des **flèches** — deux taps qui produisent un brouillon sans effet, là où le
|
||||
glisser-déposer n'est pas reproductible à la sonde — n'a pas été trouvé en cherchant le
|
||||
défaut. Il a été trouvé en cherchant **comment observer un correctif qu'on venait d'écrire**.
|
||||
Et il a élargi le défaut au passage : le glissement n'était pas la porte d'entrée, seulement
|
||||
celle qu'on avait regardée.
|
||||
|
||||
> Se demander « par quel chemin est-ce que je peux voir ça ? » fait apparaître des chemins
|
||||
> que « comment est-ce que je casse ça ? » ne fait pas apparaître.
|
||||
|
||||
---
|
||||
|
||||
## Règles de modification
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user