Skip to content Aller au contenu

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

rhythm.consecutive-long-sentences

Phrases longues consécutives.

Ce que cette règle signale

Des séries de phrases longues à l’intérieur d’un même paragraphe. Une phrase longue isolée reste gérable ; plusieurs d’affilée fatiguent l’attention même si chaque phrase reste sous le plafond de structure.sentence-too-long. Cette règle capte le rythme.

En bref

Catégorierhythm
Sévérité par défautwarning
Poids par défaut1
LanguesEN · FR (détection identique)
Sourcesrc/rules/consecutive_long_sentences.rs

Détection

Parcourir les phrases dans l’ordre à l’intérieur de chaque paragraphe. Maintenir un compteur de phrases consécutives au-dessus de word_threshold. Émettre un seul diagnostic par série atteignant max_consecutive.

Paramètres

CléTypedev-docpublicfalc
word_thresholdint201510
max_consecutiveint322

Relation à structure.sentence-too-long

Les deux règles regardent la longueur des phrases mais signalent des problèmes différents :

RègleSeuil (dev-doc / public / falc)Se déclenche sur
structure.sentence-too-longmax_words 30 / 22 / 15une phrase isolée au-delà du plafond
rhythm.consecutive-long-sentencesword_threshold 20 / 15 / 10une série de max_consecutive phrases chacune au-dessus du seuil inférieur

Comme word_threshold reste sous max_words, cette règle capte le rythme même quand aucune phrase isolée ne franchit sentence-too-long. L’invariant word_threshold < max_words (par profil) empêche les deux règles de se déclencher ensemble sur la même phrase.

Exemples

Cinq idées, teintes assorties d’un bout à l’autre de la réécriture — seul le rythme change. lucid-lint signale ; la réécriture vous appartient.

Français

Avant (signalée) :

La migration a introduit une couche de cache qui se place devant chaque lecture de la base de données primaire. L’équipe a observé des pics de latence inattendus chaque fois que le cache s’invalidait sous une charge d’écriture soutenue. Une enquête ultérieure a relié la régression à un effet thundering-herd qui se déclenchait sur chaque clé froide. Le tableau de bord des métriques signalait à tort un délai d’attente générique parce que la propagation de la trace était incomplète. Le correctif a fusionné les remplissages concurrents, randomisé les TTL, et instrumenté la couche de cache avec un émetteur de span dédié.

Cinq phrases, chacune au-delà de 20 mots — la série fatigue l’attention.

Ce que lucid-lint check --profile dev-doc rapporte :

warning input.md:1:1 5 consecutive sentences exceed 20 words (max 3). Vary sentence length or split the streak. [rhythm.consecutive-long-sentences]

Après (votre réécriture) :

La migration a introduit une couche de cache devant la base de données primaire. La latence montait dès que le cache s’invalidait sous écritures soutenues. Le coupable : un thundering-herd sur les clés froides. Les métriques signalaient un délai générique — la trace était cassée. Le correctif fusionne les remplissages, randomise les TTL et émet un span dédié.

Anglais

Avant (signalée) :

The migration introduced a caching layer that sits in front of every read from the primary database. The team observed unexpected latency spikes whenever the cache invalidated under sustained write load. A subsequent investigation traced the regression to a thundering-herd pattern that fired on every cold key. The metrics dashboard misreported the issue as a generic timeout because the trace propagation was incomplete. The fix coalesced concurrent fills, added jittered TTLs, and instrumented the cache layer with a dedicated span emitter.

Ce que lucid-lint check --profile dev-doc rapporte :

warning input.md:1:1 5 consecutive sentences exceed 20 words (max 3). Vary sentence length or split the streak. [rhythm.consecutive-long-sentences]

Après (votre réécriture) :

The migration introduced a caching layer in front of the primary database. Latency spiked whenever the cache invalidated under heavy writes. The cause was a thundering-herd pattern on cold keys. Metrics misreported it as a generic timeout — trace propagation was broken. The fix coalesced concurrent fills, added jittered TTLs, and emitted a dedicated span.

Neutralisation

Voir Neutralisation des diagnostics (page EN pour l’instant) pour les formes en ligne et par bloc.

Voir aussi

  • structure.sentence-too-long — capte les phrases longues isolées ; cette règle capte la série même quand chaque phrase reste sous ce plafond.
  • Modèle de scorerhythm.consecutive-long-sentences porte le poids par défaut 1 ; le coût cognitif est cumulatif, pas par phrase.

Références

Voir Références pour la bibliographie complète.