Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Zdokumentovaný příkaz, který už nefunguje

Příklady se napíší jednou, prózou, a nic je už nikdy nespustí.

→ vložil příkaz z dokumentace a díval se, jak selhává

cena, když k tomu dojde
střední
jak často
běžné

Okamžik

Někdo zkopíruje příkaz ze stránky getting-started. Skončí s exit 2 a chybou použití u volby, která byla na jaře přejmenována. Stránka nebyla špatně dost dlouho na to, aby si někdo stěžoval, a byla špatně pro každého, kdo ji vyzkoušel.

Proč k tomu dochází

Příklad v dokumentu je řetězec. Nic jej nespouští, takže nic nepozná, že přestal fungovat. Příkaz, který popisuje, žije v kódu, který se z dobrých důvodů mění, a řetězec se na těchto změnách nepodílí.

Proč to lepší model nevyřeší

Worker čtoucí dokumentaci věrně zopakuje rozbité vyvolání a pak diagnostikuje selhání, které způsobilo. Dokumentace byla vstup a byla špatně; žádná schopnost se z chybné specifikace nezotaví bez placení za oklikou.

Co to stojí

Nejdražší minuta v projektu: první, pro někoho, kdo se rozhoduje, zda je udržován. Poté stálé kapání dotazů na podporu, na které je odpověď „dokumentace je zastaralá“.

Co Majordomus dělá

Příkazová řádka je deklarována jednou a příklady jsou deklarovány vedle ní jako vektory argumentů s tím, co musí každý ukázat — návratový kód, úryvek výstupu, JSON pointer, který se musí přeložit. Testy samotného cratu spouštějí každý z nich proti sestavené binárce v jednorázovém repozitáři. Referenční dokument, strojově čitelný model příkazů a stránky webu jsou vykreslení téže deklarace, takže přejmenování dorazí ke všem najednou. Příkaz, který lze spustit a nenese žádný spouštěný příklad, validací neprojde.

Před a po

before   docs: majordomus check --explain-all      (renamed in April)

after    every example is argv + Expect, executed by the suite:
         $ cargo test --test cli_examples
         running 27 examples against the built binary ... ok

Co nedělá

Nekontroluje prózu a nepozná, zda je příklad užitečný. Příklad, který přestal fungovat, činí selháním testu, a ne objevem čtenáře.

Jak to vypadá

Konkrétní situace, jedna pro každé publikum. Každá je deklarována v záhlaví okamžiku, takže stav před a po jsou data, ne próza, od které by se stránka mohla odchýlit.

  1. První příkaz, který nováček spustí agency

    před
    Příkaz z rychlého startu selže na volbě, která byla přejmenována před jedním release; první dojem nováčka je, že tady nic není udržováno.
    po
    Každý zdokumentovaný příklad je vektor argumentů, který testovací sada spouští proti sestavenému binárnímu souboru, s tím, co musí vypsat.
  2. Přejmenování, které zasáhlo pět dokumentů platform-team

    před
    Volba se přejmenuje; pět dokumentů ukazuje starou a nacházejí se jedna stížnost po druhé.
    po
    Reference se vykresluje z deklarace a příkladů vedle ní; neexistuje druhá kopie, která by mohla chybět.
  3. Pracovník, který se řídí dokumentací ai-native-team

    před
    Worker postaví skript na zdokumentovaném volání, které měsíce nefunguje.
    po
    Příkaz bez provedeného příkladu neprojde vlastní kontrolou crate, takže dokumentace nemůže předběhnout binárku.

Jak to poznáte

Pozorovatelné příznaky, které tento okamžik deklaruje. Jsou dotazníkem na indexu a vstupem pro majordomus why diagnose; nic jiného je nedefinuje.

  • Příkaz zkopírovaný z dokumentace tento měsíc selhal. example-fails
  • Příklady v dokumentaci nic nespouští. examples-never-run
  • Volba byla přejmenována a místa, která ji ukazují, byla aktualizována ručně, nebo vůbec. flag-renamed

Kde to v nástroji najdete

Vše níže je načteno z vlastního záhlaví tohoto okamžiku a ověřeno proti repozitáři. Neexistující název by neprošel validací.

příkazy, které na to odpovídají

schopnosti spustitelného souboru, které na to odpovídají

co dohlíží — odvozeno z tvrzení níže

tvrzení, která tuto stránku podpírají, a důkazy za každým z nich

pravidla, která jej řídí

  • project.native-cli-documented
  • project.use-case-evidence
  • majordomus.command-surface
  • majordomus.command-coverage

případy užití, které ukazují cestu ven

Pokud vám tohle zní povědomě, další také

Co tento okamžik pojmenovává, co pojmenovává jeho a co sdílí jeho oblast, publikum nebo štítky. Druhé a třetí je odvozeno; zapsáno je jen první.

Všech 38 a jak souvisejí s nástrojem →

Prohledává názvy a popisy všech stránek, které tento web publikuje.