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.

Každý autorský soubor v tomto repozitáři je psán anglicky a vlastní jméno, testovací fixture nebo publikovaný překlad, který takový není, nese svůj důvod vedle kontroly

project.english-only říká, že každý artefakt tohoto repozitáře je psán anglicky:

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: zastaralé Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Kontrola je test abecedy a říká to: písmeno, které se vyskytuje v češtině, slovenštině či polštině a nikdy v angličtině, nebo celé jiné písmo, není angličtina, ať je o souboru pravda cokoli jiného. Anglická próza nesoucí větu v jiném jazyce zapsanou v ASCII jím projde a vždy projde - pravidlo zůstává širší než kontrola, což je poctivý vztah mezi nimi. Dvě výjimky se deklarují s důvodem: `name` pro vlastní jméno a `fixture` pro soubor, který používá cizí řetězec jako data k důkazu, že s ním program umí zacházet.

Co to znamená

project.english-only říká, že každý artefakt tohoto repozitáře je napsán anglicky: dokumenty, kód, komentáře, zprávy commitů, samotná pravidla. To mělo větší význam, než se zdá. Na tomto repozitáři se pracuje v jazyce, který není angličtina; několik lidí a agentů, kteří se ho dotýkají, v tom jazyce myslí; a odstavec v něm napsaný čte jeho autor jako zcela v pořádku a všichni ostatní jako šum. Revize zachytí dokument. Nezachytí větu.

Princip

Rozpoznání jazyka z prózy je výzkumný problém a kontrola, která by hádala, by byla kontrolou, které nikdo nevěří. Rozhodnutelná je abeceda. Hrstka písmen nese diakritiku, která se vyskytuje v češtině, slovenštině a polštině a nikdy v angličtině — č ď ě ň ř š ť ů ž, ą ć ę ł ń ś ź ż — a celá písma jsou na první pohled jednoznačná: cyrilice, řečtina, rozsahy CJK. Soubor, který obsahuje některé z nich, není anglicky, ať je o něm pravda cokoli jiného.

Toto je částečná kontrola a říká to. Anglická próza s českou větou přepsanou do ASCII jí projde a vždy projde. Pravidlo zůstává širší než kontrola, což je poctivý vztah mezi nimi; kontrola zajišťuje, že běžný případ — ten, který se tu skutečně stal — nemůže projít bez povšimnutí.

Typografická interpunkce je povolena podle rozsahu: próza tohoto repozitáře používá em pomlčku, zakřivený apostrof a výpustku a ty se k testu nikdy nedostanou. Povoleny jsou dvě další věci a obě se deklarují s důvodem v scripts/ci/english-only-allow.txt, místo aby se oslabil test:

  • name <word> — vlastní jméno, jehož pravopis je jeho vlastní. Odstraňuje se všude, kde se objeví, takže řádek angličtiny, který některé pojmenovává, je angličtina.
  • fixture <path> <why> — soubor, který používá neanglický řetězec jako data, aby dokázal, že s ním program zachází. Doctest tvrdící, že lokální část identifikátoru jsou neprůhledné bajty, musí obsahovat neprůhledné bajty; to je test, který dělá svou práci. Důvod je povinný a položka fixtury bez něj způsobí, že kontrola odmítne běžet, místo aby tiše prošla.

Ani jedno nevyjímá větu. Komentář psaný v jiném jazyce uvnitř vyjmutého souboru je stále porušením pravidla; výjimka pro fixture říká, že tento test abecedy nedokáže v tom souboru rozlišit text od dat — omezení uvedené, ne skryté.

Jak to vidět

scripts/ci/english-only-check            report, and fail on new debt
scripts/ci/english-only-check --strict   fail on any finding, baseline ignored

Kontrola english-only ji spouští v každém plánu CI. Přistála s prázdnou baseline.

Co nepokrývá

Věta v jiném jazyce zapsaná v ASCII. „Toto je veta bez diakritiky“ projde a vždy projde. Kontrola rozhoduje o abecedě, ne o jazyku, a pravidlo je záměrně širší než kontrola — říct to otevřeně je lepší než kontrola, která naznačuje záruku, kterou nemůže dát.

Také nečte generované stromy, záznamy relací ani lokální vrstvu checkoutu. Projekce nesoucí cizí slovo ho nese ze svého zdroje a zdroj je místo, kam nález patří; záznam relace cituje, co bylo řečeno, a co bylo řečeno, není vždy anglicky.

Proč existuje

Protože to zachytávala jen revize a revize zachytí dokument, ne větu. Na tomto repozitáři se pracuje v jazyce, který není angličtina, lidmi a agenty, kteří v něm myslí, a odstavec napsaný v tomto jazyce se tomu, kdo jej psal, čte naprosto v pořádku a všem ostatním jako šum.

Co to dokazuje

Samotná kontrola, spouštěná proti tomuto repozitáři v CI při každé změně, a test/cases/138_governance_gates.sh, který ji dokazuje mutací, ne tvrzením, že existuje: české písmeno v autorském souboru je jmenováno se souborem a řádkem, stejně tak celé jiné písmo, deklarované vlastní jméno je odstraněno, deklarovaný fixture je vyňat jen s důvodem a generované stromy jsou mimo rozsah, protože projekce nesoucí cizí slovo je nese ze svého zdroje.

Kontrola tiskne vlastního jmenovatele — kolik souborů změřila a kolik fixtur je deklarováno — místo toho, aby tento počet byl napsán tady. Číslo v próze je číslo, které zastará, a toto zastaralo: rozšíření selektoru na shebang skripty jej pohnulo týž odpoledne, kdy bylo poprvé zapsáno.

Detail vykreslený z docs/claims/authored-files-are-english.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Každý autorský soubor v tomto repozitáři je psán anglicky a vlastní jméno, testovací fixture nebo publikovaný překlad, který takový není, nese svůj důvod vedle kontroly

    Vytvořeno na Doktrína.

  2. 2 · kanonické tvrzení

    authored-files-are-englishdeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/DOCTRINE.md

  3. 3 · implementace

    scripts/ci/english-only-check

  4. 4 · test a scénáře

    Test: test/cases/138_governance_gates.sh

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: zastaralé jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 138_governance_gates

Související tvrzení stejná implementace

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