Pattern Check
Mønsterkontrollen holder kildeteksten i hver blokk opp mot regulære uttrykk som kalleren navngir. --forbid angir et uttrykk som ikke må forekomme, og --require ett som må forekomme – begge kan gjentas, og begge rapporteres med alvorlighetsgrad major: pattern.forbidden-pattern når et forbudt uttrykk finnes, og pattern.pattern-missing når et påkrevd uttrykk mangler. Et forbidden-pattern-funn bærer med seg teksten det matchet, slik at både blokken og de problematiske ordene er navngitt.
Uttrykkene er Go-regulære uttrykk, matchet slik de er skrevet: ingen implisitt folding av store/små bokstaver og ingen implisitte ordgrenser, så (?i)todo er måten du ignorerer store/små bokstaver på, og \bdraft\b er måten du krever et helt ord på. Et tomt uttrykk, ett som ikke kompilerer, eller en regel som både krever og forbyr, avvises når kontrollen bygges – i stedet for å la alt passere stille.
Dette er rømningsveien ved siden av kontrollene som vet hva de leter etter. En stempelprofil bærer vokabularet et prosjekt har bestemt seg for, og termer bærer ordene det har avtalt; et uttrykk er for listen som ikke har noe vokabular bak seg – for eksempel en plassholdersyntaks som må overleve, eller en markør som aldri må sendes ut.
Rules
A finding carries one of these rule ids. The family is pattern, which differs from the check id the code registers.
| Rule | Severity | Reports | Fix |
|---|---|---|---|
pattern.forbidden-pattern | major | The block's source text matches a pattern given with | Remove or reword the matched text, or drop the pattern from the run when the text is intended. |
pattern.pattern-missing | major | The block's source text does not match a pattern given with | Add the required text to the block, or narrow the run to the files the requirement applies to. |
Flags
| Flag | Values | Description |
|---|---|---|
--forbid | Go regulært uttrykk, kan gjentas | Rapporterer alle blokker hvis kilde samsvarer. Kan gjentas, slik at flere forbud kan angis i én kjøring. |
--require | Go regulært uttrykk, kan gjentas | Rapporterer alle blokker hvis kilde ikke samsvarer. Kan gjentas. Brukes per blokk, så et mønster som bare én del av et dokument har, rapporteres overalt ellers. |
Processing notes
Av med mindre et mønster er oppgitt, så en vanlig kontrollkjøring rapporterer ingenting fra den.
Kjører over oversettbare blokker; innhold som en leser presenterer som struktur eller kode matches aldri.
Et tomt eller ikke-kompilerbart mønster, og en regel som både krever og forbyr, er feil når kontrollen bygges.
Limitations
Leser kun kildetekst; om en oversettelse bevarte et mønster er spørsmålet for den tospråklige
qa-kontrollen.Et obligatorisk mønster kreves av alle blokker, så det passer en regel som gjelder for hver blokk snarere enn for et dokument som helhet.
Matching skjer over blokkens ren tekst, så et mønster kan ikke adressere kjøringene en plassholder eller en inline-kode representerer.
← Back to the Check Reference