EnglezăFrancezăSpaniolă

Favicon OnWorks

perlcriticp - Online în cloud

Rulați perlcriticp în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda perlcriticp care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


"perlcritic" - Interfață de linie de comandă pentru a critica sursa Perl.

REZUMAT


perlcritic [-12345 | --brutal | --crud | --aspru | --pupa | --blând]
[--număr de severitate | nume] [{-p | --profile} fișier | --noprofile]
[--top [număr ]] [--expresie temă] [--include model]
[--exclude model] [{-s | --politică unică} model]
[--doar | --noonly] [--profile-strictness {avertisment|fatal|liniștit}]
[--forța | --noforce] [--statistics] [--statistics-only]
[--număr | -C] [--verbos {număr | format}] [--allow-unsafe]
[--culoare | --nocolor] [--pager pager] [--quiet]
[--color-severity-highest color_specification]
[--color-severity-high color_specification]
[--color-severity-medium color_specification]
[--color-severity-low color_specification]
[--color-severity-lowest color_specification]
[--fișiere-cu-încălcări | -l]
[--fișiere-fără-încălcări | -L]
[--program-extensions file_name_extension]
{FIȘIER | DIRECTOR | STDIN}

perlcritic --profile-proto

perlcritic { --list | --list-activat | --listă-teme | --doc model [...] }

perlcritic { --help | --opțiuni | --om | --versiune }

DESCRIERE


„perlcritic” este un analizor de cod sursă Perl. Este front-end-ul executabil pentru
Motor Perl::Critic, care încearcă să identifice stânjeni, greu de citit, predispus la erori sau
constructe neconvenționale din codul dvs. Majoritatea regulilor se bazează pe cele ale lui Damian Conway
carte Perl Cel mai bune Practici. Cu toate acestea, „perlcritic” este nu limitat la aplicarea PBP și aceasta
va susține chiar reguli care îl contrazic pe Conway. Toate regulile pot fi ușor configurate sau
dezactivat după bunul plac.

Această documentație acoperă doar modul de a conduce această comandă. Pentru toate celelalte informații, așa
ca referință API și interfețe alternative, consultați documentația pentru Perl::Critic
însăși.

UTILIZARE EXEMPLE


Înainte de a intra în toate detaliile sângeroase, iată câteva exemple de utilizare de bază pentru a vă ajuta să obțineți
Ai început.

# Raportați numai cele mai grave încălcări (gravitate = 5)
perlcritic YourModule.pm

# La fel ca mai sus, dar citiți intrarea de la STDIN
perlcritic

# Procesează recursiv toate fișierele Perl de sub director
perlcritic /unele/director

# Raportați și încălcări puțin mai puțin grave (gravitate >= 4)
perlcritic -4 YourModule.pm

# La fel ca mai sus, dar folosind nivelul de severitate numit
perlcritic --stern YourModule.pm

# Raportați toate încălcările, indiferent de gravitate (gravitate >= 1)
perlcritic -1 YourModule.pm

# La fel ca mai sus, dar folosind nivelul de severitate numit
perlcritic --brutal YourModule.pm

# Raportați numai încălcările lucrurilor din „Cele mai bune practici Perl”
perlcritic --theme pbp YourModule.pm

# Raportați primele 20 de încălcări cele mai grave (gravitate >= 1)
perlcritic --top YourModule.pm

# Raportați încălcări suplimentare ale politicilor care se potrivesc cu m/variables/xms
perlcritic --include variabile YourModule.pm

# Utilizați valorile implicite din altă parte decât ~/.perlcriticrc
perlcriticrc --profile project/specific/perlcriticrc YourModule.pm

ARGUMENTE


Argumentele sunt căi către fișierele pe care doriți să le analizați. Puteți specifica mai multe fișiere.
Dacă un argument este un director, „perlcritic” va analiza toate fișierele Perl de sub
director. Dacă nu sunt specificate argumente, atunci intrarea este citită din STDIN.

OPŢIUNI


Numele opțiunilor pot fi abreviate la unicitate și pot fi declarate cu singe sau double
liniuțele și valorile opțiunilor pot fi separate de numele opțiunii printr-un spațiu sau „=” (ca și cu
Getopt::Lung). Numele opțiunilor sunt, de asemenea, sensibile la majuscule.

„--profile FILE” sau „-p FILE”
Îndrumă „perlcritic” să folosească un profil numit de FILE în loc să caute
lipsă .perlcriticrc fișier în directorul curent sau în directorul dvs. de acasă. Vedea
„CONFIGURARE” în ​​Perl::Critic pentru mai multe informații.

"--noprofile"
Îndrumă „perlcritic” să nu încarce niciun fișier de configurare, revenind astfel la valoarea implicită
configurație pentru toate politicile.

"--severitate N"
Îndrumă „perlcritic” să aplice numai politici cu o gravitate mai mare decât „N”.
Valorile severității sunt numere întregi care variază de la 1 (cel mai puțin grav) la 5 (cel mai grav). The
implicit este 5. Pentru un anumit „--profil”, scăderea „--severity” va
produce mai multe încălcări. Puteți seta valoarea implicită pentru această opțiune în dvs
.perlcriticrc fişier. De asemenea, puteți redefini „severitatea” pentru orice politică din dvs
.perlcriticrc fişier. Consultați „CONFIGURARE” pentru mai multe informații.

"-5 | -4 | -3 | -2 | -1"
Acestea sunt scurtături numerice pentru setarea opțiunii „--severity”. De exemplu, „-4” este
echivalent cu „--severitatea 4”. Dacă sunt specificate mai multe comenzi rapide, atunci cele mai multe
unul restrictiv câștigă. Dacă este dată și o opțiune explicită „--severity”, atunci toate
opțiunile de comandă rapidă sunt ignorate în tăcere. NOTĂ: Aveți grijă să nu puneți unul dintre numere
opțiuni de comandă rapidă de severitate imediat după marcajul „--top” sau „perlcritic”.
interpretează-l ca numărul de încălcări de raportat.

„--severity NAME”
Dacă vă este greu să vă amintiți dacă severitatea „5” este cea mai mare sau cea mai mică
nivel restrictiv, atunci puteți utiliza una dintre aceste valori numite:

SEVERITY NAME ...este echivalent cu... SEVERITY NUMBER
-------------------------------------------------- ------
--severitate blând --severitate 5
--severity stern --severity 4
--severitate dură --severitate 3
--severitate crudă --severitate 2
--severitate brutală --severitate 1

„--blând | --pupa | --aspru | --crud | --brutal"
Acestea sunt denumite comenzi rapide pentru setarea opțiunii „--severity”. De exemplu, „--cruel”
este echivalent cu „--severity 2”. Dacă sunt specificate mai multe comenzi rapide, atunci cele mai multe
unul restrictiv câștigă. Dacă este dată și o opțiune explicită „--severity”, atunci toate
opțiunile de comandă rapidă sunt ignorate în tăcere.

„--temă REGULA”
Îndrumă „perlcritic” să aplice numai Politici cu teme care îndeplinesc „REGULA”.
Temele sunt nume arbitrare pentru grupuri de politici conexe. Puteți combina tema
nume cu operatori booleeni pentru a crea o „REGULĂ” arbitrar complexă. De exemplu,
următoarele s-ar aplica numai politicile care au o temă „bugs” ȘI „pbp”:

$> perlcritic --theme='bugs && pbp' MyModule.pm

Cu excepția cazului în care opțiunea „--severity” este dată în mod explicit, setarea „--theme” cauzează în mod silențios
„--severity” să fie setat la 1. Puteți seta valoarea implicită pentru această opțiune în
ta .perlcriticrc fişier. Consultați „TEME DE POLITICI” în Perl::Critic pentru mai multe informații
despre teme.

„--include PATTERN”
Îndrumă „perlcritic” să aplice politici suplimentare care se potrivesc cu expresia regex „/PATTERN/imx”.
Utilizați această opțiune pentru a modifica temporar profilul și/sau setările de severitate la
linia de comandă. De exemplu:

perlcritic --include=layout fișierul_meu.pl

Acest lucru ar determina ca „perlcritic” să aplice toate politicile „CodeLayout::*”, chiar dacă acestea
au un nivel de severitate mai mic decât nivelul implicit de 5 sau au fost dezactivate
în ta .perlcriticrc fişier. Puteți specifica mai multe opțiuni „--include” și puteți
utilizați-l împreună cu opțiunea „--exclude”. Rețineți că „--exclude” ia
prioritate față de „--include” atunci când o politică se potrivește cu ambele modele. Puteți seta
valoarea implicită pentru această opțiune în dvs .perlcriticrc fișier.

„--exclude PATTERN”
Îndrumă „perlcritic” să nu aplice nicio politică care se potrivește cu expresia regex „/PATTERN/imx”.
Utilizați această opțiune pentru a modifica temporar profilul și/sau setările de severitate la
linia de comandă. De exemplu:

perlcritic --exclude=strict fișierul_meu.pl

Acest lucru ar face ca „perlcritic” să nu aplice „RequireUseStrict” și
Politicile „ProhibitNoStrict” chiar dacă au cel mai înalt nivel de severitate. Puteți
specificați mai multe opțiuni „--exclude” și le puteți utiliza împreună cu
opțiunea „--include”. Rețineți că „--exclude” are prioritate față de „--include” atunci când a
Politica se potrivește cu ambele modele. Puteți seta valoarea implicită pentru această opțiune în dvs
.perlcriticrc fișier.

„--single-policy PATTERN” sau „-s PATTERN”
Îndrumă „perlcritic” să aplice doar un singur modul de politică care se potrivește cu expresia regex
„/PATTERN/ixms” și excludeți toate celelalte politici. Această opțiune are prioritate față de
Opțiunile „--severity”, „--theme”, „--include”, „--exclude” și „--only”. De exemplu:

perlcritic --single-policy=nowarnings fișierul_meu.pl

Acest lucru ar determina ca „perlcritic” să aplice doar politica „ProhibitNoWarnings”,
indiferent de setarea nivelului de severitate. Nu vor fi aplicate alte politici.

Acest lucru este echivalent cu ceea ce s-ar putea intenționa prin...

perlcritic --exclude=. --include=nowarnings fișierul_meu.pl

... dar acest lucru nu va funcționa deoarece opțiunea „--exclude” înlocuiește „--include”
opțiune.

Echivalentul acestei opțiuni poate fi realizat prin crearea unui profil personalizat
care conține doar politica dorită și apoi rulează...

perlcritic --profile=profil personalizat --doar fișierul_meu.pl

„--sus [N]”
Îndrumă „perlcritic” să raporteze numai primele încălcări ale politicii „N” din fiecare fișier, clasate
prin severitatea lor. Dacă „N” nu este specificat, acesta este implicit 20. Dacă „--severity”
opțiunea (sau una dintre comenzile rapide) nu este dată în mod explicit, implică opțiunea „--top”.
că nivelul minim de severitate este „1” (adică „brutal”). Utilizatorii pot redefini
severitate pentru orice Politică din acestea .perlcriticrc fişier. Consultați „CONFIGURARE” pentru mai multe
informație. Puteți seta valoarea implicită pentru această opțiune în dvs .perlcriticrc
fişier. NOTĂ: Aveți grijă să nu puneți imediat una dintre opțiunile de comandă rapidă de severitate
după steagul „--top” sau „perlcritic” îl va interpreta ca numărul de încălcări
a raporta.

"--forta"
Îndrumă „perlcritic” să ignore adnotările magice „## fără critici” din sursă
cod. Consultați „ÎNCOLAREA REGULILOR” pentru mai multe informații. Puteți seta valoarea implicită pentru
această opțiune în dvs .perlcriticrc fișier.

"--statistici"
Provoacă mai multe statistici despre codul scanat și încălcările constatate
raportat după orice altă ieșire.

„--doar statistici”
Ca și opțiunea „--statistics”, dar suprimă ieșirea normală și afișează numai
statistici.

„--verbos N | FORMAT”
Setează nivelul de verbozitate sau formatul pentru raportarea încălcărilor. Dacă i se oferă un număr ("N"),
„perlcritic” raportează încălcările utilizând unul dintre formatele predefinite descrise mai jos.
Dacă este dat un șir ("FORMAT"), acesta este interpretat ca fiind o specificație reală a formatului.
Dacă opțiunea „--verbose” nu este specificată, aceasta este implicită fie 4, fie 5, în funcție de
dacă mai multe fișiere au fost date drept argumente pentru „perlcritic”. Puteți seta
valoarea implicită pentru această opțiune în dvs .perlcriticrc fișier.

Specificație de format de verbositate
----------- --------------------------------------- ----------------
1 „%f:%l:%c:%m\n”,
2 „%f: (%l:%c) %m\n”,
3 „%m la %f linia %l\n”,
4 „%m la linia %l, coloana %c. %e. (Severitate: %s)\n”,
5 „%f: %m la linia %l, coloana %c. %e. (Severitate: %s)\n”,
6 „%m la linia %l, lângă „%r”. (Severitate: %s)\n”,
7 „%f: %m la linia %l lângă „%r”. (Severitate: %s)\n”,
8 „[%p] %m la linia %l, coloana %c. (Severitate: %s)\n”,
9 „[%p] %m la linia %l, lângă „%r”. (Severitate: %s)\n”,
10 „%m la linia %l, coloana %c.\n %p (gravitate: %s)\n%d\n”,
11 „%m la linia %l, lângă „%r”.\n %p (gravitate: %s)\n%d\n”

Formatele sunt o combinație de caractere literale și de evadare similare modului
„sprintf” funcționează. Consultați String::Format pentru o explicație completă a formatării
capabilități. Caracterele de escape valide sunt:

Escape Sensul
------- ------------------------------------------- -----------------
%c Numărul coloanei în care a avut loc încălcarea
%d Discuție completă de diagnosticare a încălcării
%e Explicația încălcării sau a numerelor de pagină în PBP
%F Doar numele fișierului în care a avut loc încălcarea.
%f Calea către fișierul în care a avut loc încălcarea.
%l Număr de linie unde a avut loc încălcarea
%m Scurtă descriere a încălcării
%P Numele complet al modulului de politică care a creat încălcarea
%p Numele politicii fără prefixul Perl::Critic::Policy::
%r Șirul de cod sursă care a cauzat încălcarea
%C Clasa PPI::Elementul care a cauzat încălcarea
%s Nivelul de severitate al încălcării

Scopul acestor formate este de a oferi o anumită compatibilitate cu editorii de text care
au o interfață pentru analizarea anumitor tipuri de intrare. Consultați „INTEGRAREA EDITORULUI” pentru
mai multe informații despre asta.

"--listă"
Afișează o listă condensată a tuturor modulelor Perl::Critic::Policy care se găsesc pe
Această mașinărie. Această opțiune listează toate Politici, indiferent de dvs .perlcriticrc or
opțiunile liniei de comandă. Pentru fiecare politică, numele, gravitatea implicită și temele implicite
sunt afișate.

„--list-activat”
Afișează o listă condensată a tuturor modulelor Perl::Critic::Policy care ar be
aplicat, dacă urma să critici un fișier cu această comandă. Aceasta este
util atunci când ați construit o comandă complicată sau ați modificat .perlcriticrc
fișier și doriți să vedeți exact ce politici vor fi aplicate (sau nu
executate, după caz). Pentru fiecare politică, numele, severitatea implicită și implicit
sunt prezentate teme.

„--listă-teme”
Afișează o listă cu toate temele modulelor Perl::Critic::Policy care sunt găsite
pe această mașină.

„--profil-proto”
Afișează o listă extinsă a tuturor modulelor Perl::Critic::Policy care se găsesc pe
Această mașinărie. Pentru fiecare politică, numele, gravitatea implicită și temele implicite sunt
afișat, precum și numele oricăror parametri suplimentari pe care îi acceptă Politica. The
formatul este potrivit ca prototip pentru dvs .perlcriticrc fișier.

"--numai"
Îndrumă perlcritic să aplice numai politicile care sunt menționate în mod explicit în dvs
.perlcriticrc fişier. Acest lucru este util dacă doriți să utilizați doar un mic subset de politici
fără a fi nevoie să dezactivați toate celelalte. Puteți seta valoarea implicită pentru aceasta
opțiune în .perlcriticrc fișier.

„--profil-strictness {avertisment|fatal|liniștit}”
Îndrumă perlcritic cum să trateze anumite probleme recuperabile găsite într-un .perlcriticrc
sau fișierul specificat prin opțiunea „--profile”. Valorile valide sunt „warn” (implicit),
„fatal” și „liniștit”. De exemplu, perlcritic în mod normal avertizează numai despre profiluri
referindu-se la Politici inexistente, dar această opțiune poate face această situație fatală. Tu
poate seta valoarea implicită pentru această opțiune în dvs .perlcriticrc fișier.

"--numara"
"-C"
Afișați numai numărul de încălcări pentru fiecare fișier. Utilizați această funcție pentru a obține rapid
gestionați-vă unde o grămadă mare de cod ar putea avea nevoie de cea mai mare atenție.

"--Safari"
Raportați citațiile „Perl Best Practice” ca numere de secțiune din
<http://safari.oreilly.com> în loc de numerele paginilor din cartea propriu-zisă. NOTĂ: Aceasta
caracteristica nu este încă implementată.

„--color” =articol „--colour”
Această opțiune este activată la ieșirea către un tty. Când se setează, severitatea 5 și 4 sunt colorate
roșu și, respectiv, galben. Colorarea are loc numai dacă Termen::ANSColor este
instalat și funcționează numai în medii non-Windows. Anulați această comutare la
dezactivați culoarea. Puteți seta valoarea implicită pentru această opțiune în dvs .perlcriticrc
fișier.

„--pager PAGER_COMMAND_STRING”
Dacă este setat, perlcritic va trimite ieșirea la PAGER_COMMAND_STRING dat. Puteți
setați valoarea implicită pentru această opțiune în dvs .perlcriticrc fișier.

Setarea unui pager dezactivează culoarea în mod implicit. Va trebui să activați culoarea
explicit. Dacă doriți culoare, probabil că veți dori și să spuneți paginatorului dvs
afișează caractere brute. Pentru „mai puțin” și „mai mult”, utilizați comutatorul -R.

„--color-severity-highest COLOR_SPECIFICATION”
Specifică culoarea care trebuie utilizată pentru încălcările cu cea mai mare gravitate, ca Termen::ANSColor
specificarea culorii. Poate fi specificat și ca „--colour-severity-highest”,
„--color-severity-5” sau „--colour-severity-5”.

„--color-severity-high COLOR_SPECIFICATION”
Specifică culoarea care trebuie utilizată pentru încălcările de gravitate ridicată, ca Termen::ANSColor
specificarea culorii. Poate fi specificat și ca „--colour-severity-high”,
„--color-severity-4” sau „--colour-severity-4”.

„--color-severity-medium COLOR_SPECIFICATION”
Specifică culoarea care trebuie utilizată pentru încălcările de gravitate medie, ca Termen::ANSColor
specificarea culorii. Poate fi specificat și ca „--colour-severity-medium”,
„--color-severity-3” sau „--colour-severity-3”.

„--color-severity-low COLOR_SPECIFICATION”
Specifică culoarea care va fi utilizată pentru încălcările de severitate scăzută, ca culoare Term::ANSICOlor
specificație. Poate fi specificat și ca „--colour-severity-low”,
„--color-severity-2” sau „--colour-severity-2”.

„--color-severity-lowest COLOR_SPECIFICATION”
Specifică culoarea care va fi utilizată pentru încălcările cu cea mai mică gravitate, ca Termen::ANSColor
specificarea culorii. Poate fi specificat și ca „--colour-severity-lowest”,
„--color-severity-1” sau „--colour-severity-1”.

„--fișiere-cu-încălcări”
Afișați numai numele fișierelor cu încălcări. Utilizați această funcție cu
--single-policy pentru a găsi fișiere care conțin încălcări ale unei anumite politici. Poate fi și
specificat ca „--l”.

„--fișiere-fără-încălcări”
Afișați numai numele fișierelor fără încălcări. Utilizați această funcție cu
--single-policy pentru a găsi fișiere care nu conțin încălcări ale unei anumite politici. Poate sa
fi specificat și ca „--L”.

„--program-extensions file_name_extension”
Spune-i lui „perlcritic” să trateze fișierele ale căror nume se termină cu extensia de nume de fișier dată ca
programe, nu ca module. Dacă un lider '.' se dorește trebuie specificat în mod explicit,
de exemplu

--program-extensions .pl

Potrivirea este sensibilă la majuscule, iar opțiunea poate fi specificată de câte ori
dorit, de ex

--program-extensions .pl --program-extensions .cgi

Cele de mai sus se pot face și prin citarea extensiilor de nume de fișier:

--program-extensions '.pl .cgi'

Fișierele al căror nume se termină în „.PL” vor fi întotdeauna considerate programe.

„--doc PATTERN”
Afișează perldoc-ul pentru toate modulele Perl::Critic::Policy care se potrivesc cu „m/PATTERN/ixms”.
Deoarece modulele de politică tind să aibă nume destul de lungi, acest lucru oferă doar mai mult
mod convenabil de a spune ceva de genul: „perldoc
Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseH eredocTerminator" la
prompt de comandă.

„--permite-nesigur”
Această opțiune direcționează „perlcritic” să permită utilizarea politicilor care au fost marcate ca
„nesigur”. Politicile nesigure pot duce la operațiuni riscante prin compilare și execuție
codul pe care îl analizează. Toate politicile incluse în nucleul Perl::Critic
distribuția sunt sigure. Cu toate acestea, politicile terțelor părți, cum ar fi cele din
Perl::Critic::Distribuțiile dinamice nu sunt sigure. Rețineți că „siguranța” este onorifică -- dacă
un autor al politicii marchează o politică ca fiind sigură, nu este o garanție că nu se va descurca
lucruri. If tu nu face încredere ta Politicile si il cod tu sunt analizand, apoi do nu
utilizare acest comuta.

"--Liniște"
Suprimați mesajul „sursă OK” când nu sunt găsite încălcări.

"--Ajutor"
"-?"
"-H"
Afișează un scurt rezumat al opțiunilor și al ieșirilor.

"--Opțiuni"
Afișează descrierile opțiunilor și ale ieșirilor. În timp ce această ieșire este lungă, este
nicăieri aproape de lungimea ieșirii lui „--man”.

"--om"
Afișează manualul complet „perlcritic” și iese.

"--versiune"
"-V"
Afișează numărul versiunii „perlcritic” și iese.

CONFIGURARE


Majoritatea setărilor pentru Perl::Critic și fiecare dintre modulele de politică pot fi controlate de
un fișier de configurare. Fișierul de configurare implicit este numit .perlcriticrc.
„perlcritic” va căuta mai întâi acest fișier în directorul curent și apoi în casa dvs
director. Alternativ, puteți seta variabila de mediu „PERLCRITIC” la în mod explicit
indicați către un fișier diferit într-o altă locație. Dacă niciunul dintre aceste fișiere nu există, și
Opțiunea „--profile” nu este dată pe linia de comandă, atunci toate Politicile vor fi încărcate cu
configurația lor implicită.

Formatul fișierului de configurare este o serie de blocuri în stil INI care conțin cheie-
perechi valori separate prin „=". Comentariile ar trebui să înceapă cu „#” și pot fi plasate pe a
rând separat sau după perechile nume-valoare, dacă doriți.

Pot fi setate setările implicite pentru perlcritic în sine înainte il primul numit bloc. Pentru
exemplu, punând oricare sau toate acestea în partea de sus a ta .perlcriticrc fișierul va seta
valoarea implicită pentru argumentul corespunzător din linia de comandă.

severitate = 3 #Integer sau nivel numit
numai = 1 #Zero sau Unu
forță = 0 #Zero sau Unu
verbose = 4 #Integer sau spec. format
top = 50 #Un întreg pozitiv
tema = (pbp + securitate) * erori #O expresie a temei
include = NamingConventions ClassHierarchies #Space-delimited list
exclude = Variabile Module::RequirePackage #listă delimitată de spațiu

Restul fișierului de configurare este o serie de blocuri ca acesta:

[Perl::Critic::Policy::Category::PolicyName]
severitate = 1
set_themes = foo bar
add_themes = baz
arg1 = valoare1
arg2 = valoare2

„Perl::Critic::Policy::Category::PolicyName” este numele complet al unui modul care implementează
politica. Modulele de politică distribuite cu Perl::Critic au fost grupate în
categorii conform cuprinsului din cartea lui Damian Conway Perl Cel mai bune Practici.
Pentru concizie, puteți omite partea „Perl::Critic::Policy” din numele modulului.

„severitatea” este nivelul de importanță pe care doriți să-l acordați Politicii. Toată Politica
modulele sunt definite cu o valoare implicită de severitate variind de la 1 (cel mai puțin grav) la 5 (cel mai
severă). Cu toate acestea, este posibil să nu fiți de acord cu severitatea implicită și să alegeți să îi acordați a
severitate mai mare sau mai mică, pe baza propriei filozofii de codare. Puteți seta „gravitatea”
la un număr întreg de la 1 la 5 sau utilizați unul dintre numele echivalente:

SEVERITY NAME ...este echivalent cu... SEVERITY NUMBER
-------------------------------------------------- -
blând 5
pupa 4
aspru 3
crud 2
brutal 1

„set_themes” setează tema pentru Politică și înlocuiește tema implicită. Argumentul
este un șir de unul sau mai multe cuvinte alfanumerice delimitate de spații albe. Temele sunt cazuri-
insensibil. Consultați „TEME DE POLITICI” pentru mai multe informații.

„add_themes” se adaugă la temele implicite pentru această politică. Argumentul este un șir de
unul sau mai multe cuvinte delimitate de spații albe. Temele sunt insensibile la majuscule. Vezi „TEME DE POLITICI”
pentru mai multe informatii.

Perechile cheie-valoare rămase sunt parametrii de configurare care vor fi transferați în
constructorul acelei Politici. Constructorii pentru majoritatea modulelor de politică nu acceptă
argumente, iar cele care o fac ar trebui să aibă valori implicite rezonabile. Vezi documentația de pe
modulul de politică corespunzător pentru mai multe detalii.

În loc să redefiniți severitatea pentru o anumită politică, puteți dezactiva complet o politică
prin adăugarea unui „-” la numele modulului în fișierul de configurare. În acest mod,
Politica nu va fi niciodată încărcată, indiferent de „--severity” dată pe linia de comandă.

O configurație simplă ar putea arăta astfel:

#------------------------------------------------- -------------
# Cred că acestea sunt cu adevărat importante, așa că încărcați-le întotdeauna

[TestingAndDebugging::RequireUseStrict]
severitate = 5

[TestingAndDebugging::RequireUseWarnings]
severitate = 5

#------------------------------------------------- -------------
# Cred că acestea sunt mai puțin importante, deci încărcați numai când sunteți întrebat

[Variabile::ProhibitPackageVars]
severitate = 2

[ControlStructures::ProhibitPostfixControls]
permit = dacă, cu excepția cazului în care # Configurația mea personalizată
severitate = crud # La fel ca „severitate = 2”

#------------------------------------------------- -------------
# Oferiți acestor politici o temă personalizată. Pot activa doar
# aceste politici spunând „perlcritic --theme „larry || curly””

[Module::RequireFilenameMatchesPackage]
add_themes = larry

[TestingAndDebugging::RequireTestLabels]
add_themes = curly moe

#------------------------------------------------- -------------
# Nu sunt deloc de acord cu acestea, așa că nu le încărcați niciodată

[-NamingConventions::Majuscule]
[-ValuesAndExpressions::ProhibitMagicNumbers]

#------------------------------------------------- -------------
# Pentru toate celelalte politici, accept severitatea implicită,
# deci nu este necesară nicio configurație suplimentară pentru ele.

Rețineți că toate politicile incluse în distribuția Perl::Critic care au numere întregi
parametrii acceptă caractere de subliniere ("_") în valorile lor, ca și în cazul literalelor numerice Perl. Pentru
exemplu,

[ValuesAndExpressions::RequireNumberSeparators]
valoare_min = 1_000

Pentru exemple suplimentare de configurare, consultați perlcriticrc fișier care este inclus în acesta
exemple directorul acestei distribuții.

Configurația Perl::Critic a lui Damian Conway este de asemenea inclusă în această distribuție ca
exemple/perlcriticrc-conway.

THE POLITICI


Un număr mare de module de politici sunt distribuite cu Perl::Critic. Sunt descrise
pe scurt în documentul însoțitor Perl::Critic::PolicySummary și mai detaliat în
modulele individuale în sine. Spuneți „perlcritic --doc PATTERN” pentru a vedea perldoc-ul pentru toți
Module de politică care se potrivesc cu expresia regex „m/PATTERN/ixms”

Există o serie de distribuții de politici suplimentare pe CPAN. Dacă Perl::Critic
nu conține o politică pe care o doriți, poate că cineva a scris-o deja. Vezi vezi
ALSO" în Perl::Critic pentru o listă a unora dintre aceste distribuții.

POLITICĂ TEME


Fiecare Politică este definită cu una sau mai multe „teme”. Temele pot fi folosite pentru a crea arbitrare
grupuri de Politici. Acestea sunt menite să ofere un mecanism alternativ de selecție
setul preferat de politici. De exemplu, ați putea dori să dezactivați un anumit set de
Politici la analizarea programelor de testare. În schimb, este posibil să doriți să activați doar un anumit
subset de Politici atunci când se analizează module.

Politicile livrate cu Perl::Critic au fost împărțite în următoarele teme.
Aceasta este doar încercarea noastră de a oferi câteva grupări logice de bază. Ești liber să inventezi
teme noi care se potrivesc nevoilor dvs.

DESCRIEREA TEMEI
-------------------------------------------------- ----------------------
de bază Toate politicile livrate cu Perl::Critic
Politici pbp care provin direct din „Perl Best Practices”
bug-uri Politici care previn sau dezvăluie erori
certrec Politici pe care le recomandă CERT
certrule Politici pe care CERT le consideră reguli
Politici de întreținere care afectează sănătatea pe termen lung a codului
Politici cosmetice care au doar un efect superficial
complexitate Politici care se referă în mod specific la complexitatea codului
Politici de securitate care se referă la probleme de securitate
teste Politici care sunt specifice programelor de testare

Spuneți „perlcritic --list” pentru a obține o listă a tuturor politicilor disponibile și a temelor care sunt
asociat cu fiecare. De asemenea, puteți schimba tema pentru orice politică din dvs
.perlcriticrc fişier. Consultați secțiunea „CONFIGURARE” pentru mai multe informații despre aceasta.

Folosind opțiunea de linie de comandă „--theme”, puteți crea o regulă arbitrar complexă care
determină ce politici să aplice. Precedența este aceeași cu codul Perl obișnuit și tu
poate folosi parantezele pentru a impune și prioritatea. Operatorii acceptați sunt:

Exemplu alternativ al operatorului
-------------------------------------------------- ---------------
&& și „pbp && core”
|| sau „pbp || (defecțiuni și securitate)'
! nu 'pbp && ! (portabilitate || complexitate)'

Numele temelor nu fac distincție între majuscule și minuscule. Dacă „--theme” este setată la un șir gol, atunci acesta
evaluează ca adevărate toate Politicile.

ÎNDOIRE THE REGULI


Perl::Critic adoptă o abordare dură a codului dvs.: fie vă conformați, fie nu. În
în lumea reală, nu este întotdeauna practic (sau chiar posibil) să respectați pe deplin codificarea
standardele. În astfel de cazuri, este înțelept să arătați că încălcați cu bună știință
standarde și că aveți un motiv al naibii de bun (DGR) pentru a face acest lucru.

Pentru a ajuta în aceste situații, puteți direcționa Perl::Critic să ignore anumite rânduri sau
blocuri de cod folosind adnotări:

necesită „LegacyLibaray1.pl”; ## nici un critic
necesită „LegacyLibrary2.pl”; ## nici un critic

pentru $elementul meu (@list) {

## nici un critic

$foo = ""; #Violates „ProhibitEmptyQuotes”
$barf = bar() if $foo; #Violates „ProhibitPostfixControls”
#Încă un cod malefic...

## folosește critic

#Ceva cod bun...
face_ceva($_);
}

Adnotările „## fără critici” direcționează Perl::Critic să ignore liniile de cod rămase
până când se găsește o adnotare „## use critic”. Dacă adnotarea „## fără critici” este pe
aceeași linie ca o instrucțiune de cod, atunci numai acea linie de cod este trecută cu vederea. A dirija
perlcritic pentru a ignora adnotările „## fără critici”, utilizați opțiunea „--force”.

O adnotare simplă „## fără critici” dezactivează toate politicile active. Dacă doriți să dezactivați
numai anumite politici, adăugați o listă de nume de politici ca argumente, așa cum ați face pentru
pragma „fără strict” sau „fără avertismente”. De exemplu, aceasta ar dezactiva
Politicile „ProhibitEmptyQuotes” și „ProhibitPostfixControls” până la sfârșitul blocului sau
până la următoarea adnotare „## folosește critic” (oricare vine primul):

## fără critici (EmptyQuotes, PostfixControls);

# Acum scutiți de ValuesAndExpressions::ProhibitEmptyQuotes
$foo = "";

# Acum scutiți ControlStructures::ProhibitPostfixControls
$barf = bar() dacă $foo;

# Încă supus ValuesAndExpression::RequireNumberSeparators
$long_int = 10000000000;

Deoarece numele Politicii sunt corelate cu argumentele „## fără critici” în mod obișnuit
expresii, puteți abrevia numele politicilor sau puteți dezactiva o întreagă familie de politici
într-o singură lovitură ca asta:

## fără critici (NamingConventions)

# Acum scutiți de NamingConventions::Capitalization
my $camelHumpVar = 'foo';

# Acum scutiți de NamingConventions::Capitalization
sub cămilăHumpSub {}

Lista de argumente trebuie să fie cuprinsă între paranteze și trebuie să conțină una sau mai multe virgule.
cuvinte goale separate (adică nu folosiți ghilimele). Adnotările „## fără critici” pot fi
imbricate, iar Politicile denumite printr-o adnotare interioară vor fi dezactivate împreună cu acestea
a dezactivat deja o adnotare exterioară.

Unele politici precum „Subroutine::ProhibitExcessComplexity” se aplică unui întreg bloc de
cod. În acele cazuri, pe linia unde este încălcarea trebuie să apară „## nici un critic”.
raportat. De exemplu:

sub complicated_function { ## fără critici (ProhibitExcessComplexity)
# Codul tău aici...
}

Unele politici precum „Documentation::RequirePodSections” se aplică întregului document, în
care încălcări de caz sunt raportate la rândul 1. Dar dacă dosarul necesită o linie shebang, aceasta
este imposibil să puneți „## no critic” pe prima linie a fișierului. Acesta este un cunoscut
limitare și va fi abordată într-o versiune viitoare. Ca o soluție, puteți dezactiva
politicile afectate la linia de comandă sau în dvs .perlcriticrc fişier. Dar ai grija ca
aceasta va afecta analiza toate fișiere.

Utilizați această funcție cu înțelepciune. „## nici un critic” ar trebui folosit în cel mai mic domeniu posibil, sau
numai pe linii individuale de cod. Și ar trebui să fii întotdeauna cât mai specific posibil
ce politici doriți să dezactivați (adică nu utilizați niciodată un simplu „## fără critici”). Dacă
Perl::Critic se plânge de codul dvs., încercați să găsiți o soluție conformă înainte de a recurge
la această caracteristică.

EDITOR INTEGRARE


Pentru ușurință în utilizare, „perlcritic” poate fi integrat cu editorul de text preferat. The
Capacitățile de formatare a ieșirii ale „perlcritic” sunt destinate în mod special utilizării cu
Modurile „grep” sau „compilare” disponibile în editori precum „emacs” și „vim”. În aceste moduri,
puteți rula o comandă arbitrară, iar editorul va analiza rezultatul într-o comandă interactivă
buffer pe care puteți face clic și să sari la linia de cod relevantă.

Echipa Perl::Critic le mulțumește tuturor celor care au ajutat la integrarea Perl-Critic cu ei
editorul preferat. Contribuțiile dvs. în special au făcut din Perl- Critic un convenabil și
instrument ușor de utilizat pentru dezvoltatorii Perl de toate tipurile. Apreciem sincer durerea ta
muncă.

EMACS
Joshua ben Jore a creat un mod minor pentru emacs care vă permite să rulați perlcritic
regiunea sau tamponul curent. Îl puteți rula la cerere sau îl puteți configura să ruleze
automat când salvați tamponul. Ieșirea apare într-un compilator hot-link
tampon. Codul și instrucțiunile de instalare pot fi găsite în Extras director
în interiorul acestei distribuţii.

VIM
Scott Peshak a publicat perlchecker.vim, care este disponibil la
<http://www.vim.org/scripts/script.php?script_id=1731>.

gVIM
Fritz Mehner a adăugat recent suport pentru „perlcritic” fantasticului său plugin gVIM. În
Pe lângă faptul că oferă un IDE foarte Perlish, pluginul lui Fritz permite accesul cu un singur clic la
"perlcritic" si multe alte utilitati foarte utile. Și totul este integrat perfect în
editorul. Consultați „/lug.fh-swf.de/vim /vim-perl/screenshots-en.html” în http: pentru a completa
Detalii.

EPIC
EPIC este un IDE Perl open source bazat pe platforma Eclipse. Caracteristicile includ sintaxa
evidențiere, verificare a sintaxei din mers, asistență de conținut, completare a codului, suport perldoc,
formatarea sursă cu Perl::Tidy, șabloane de cod, un instrument de editare a expresiilor obișnuite și
integrare cu depanatorul Perl. Versiunile recente de EPIC au, de asemenea, suport încorporat
pentru Perl::Critic. Cel puțin un colaborator Perl::Critic jură pe EPIC. Mergi la
<http://e-p-i-c.sourceforge.net> pentru mai multe informații despre EPIC.

B.B.Edit
Josh Clark a produs un excelent plugin Perl-Critic pentru BBEdit. Vedea
<http://globalmoxie.com/projects/bbedit-perl-critic/index.shtml> pentru descărcare,
instrucțiuni de instalare și utilizare. Utilizatorii Apple se bucură!

Komodo
Komodo este un IDE proprietar pentru Perl și alte câteva limbaje dinamice. Incepand in
versiunea 5.1.1, Komodo are suport încorporat pentru Perl-Critic, dacă aveți Perl::Critic
și module de critică instalate. Copii de probă gratuite ale Komodo pot fi obținute de la
Site-ul web ActiveState lahttp://www.activestate.com>.

ActivePerl
ActivePerl include o interfață grafică foarte elegantă pentru configurarea și rularea Perl-
Critic numit „perlcritic-gui”. Se poate obține o ediție comunitară gratuită a ActivePerl
de pe site-ul ActiveState lahttp://www.activestate.com>.

EXIT STAREA


Dacă „perlcritic” are erori în sine, iese cu starea == 1. Dacă nu există erori,
dar „perlcritic” găsește încălcări ale politicii în codul sursă, iese cu starea == 2. Dacă
nu au existat erori și nu au fost găsite încălcări, ieșiri cu starea == 0.

THE Perl::Critic FILOZOFIE


Standardele de codare sunt profund personale și foarte subiective. Scopul lui Perl::Critic
este să vă ajute să scrieți cod care se conformează unui set de bune practici. Primarul nostru
scopul nu este de a dicta care sunt acele practici, ci mai degrabă de a implementa
practici descoperite de alţii. În cele din urmă, tu faci regulile -- Perl::Critic is
doar un instrument de încurajare a coerenței. Dacă există o politică care crezi că este
importante sau pe care le-am trecut cu vederea, am fi foarte recunoscători pentru contribuții, sau
pur și simplu puteți încărca propriul set privat de politici în Perl::Critic.

EXTINDEREA THE CRITIC


Designul modular al lui Perl::Critic este destinat să faciliteze adăugarea de noi politici.
Va trebui să înțelegeți PPI, dar majoritatea modulelor de politici sunt drăguțe
simplu și necesită doar aproximativ 20 de linii de cod. Vă rugăm să vedeți
Fișierul Perl::Critic::DEVELOPER inclus în această distribuție pentru un pas cu pas
demonstrație a modului de a crea noi module de politică.

Dacă dezvoltați noi module de politică, nu ezitați să le trimiteți la „[e-mail protejat]>"
și voi fi bucuros să iau în considerare introducerea lor în distribuția Perl::Critic. Sau dacă tu
ați dori să lucrați direct la proiectul Perl::Critic, puteți accesa depozitul nostru la
„/github.com/Perl- Critic/Perl- Critic.git” în http:.

Echipa Perl::Critic este de asemenea disponibilă pentru închiriere. Dacă organizația dvs. are propria sa codare
standarde, putem crea politici personalizate pentru a vă aplica regulile locale. Sau dacă dvs
baza de cod este predispusă la un anumit model de defecte, putem proiecta politici care vă vor ajuta
prinzi acele defecte costisitoare înainte intră în producție. Pentru a discuta nevoile tale cu
echipa Perl::Critic, trebuie doar să contactați "[e-mail protejat]>>".

CONTACTARE THE DEZVOLTARE ECHIPĂ


Sunteți încurajat să vă abonați la lista de corespondență; trimite un mesaj către
<mailto:[e-mail protejat]>. Pentru a preveni spam-ul, vi se poate solicita
înregistrați-vă pentru un cont de utilizator pe Tigris.org înainte de a vi se permite să posteze mesaje către
listă de email-uri. Vedeți și arhivele listelor de corespondență la
<http://perlcritic.tigris.org/servlets/SummarizeList?listName=users>. Cel puțin un membru
al echipei de dezvoltare sta de obicei pe acolo și
puteți urmări Perl::Critic pe Twitter, la adresa .

Utilizați perlcriticp online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    În mijlocul
    În mijlocul
    În mijlocul sau interfața avansată Minecraft
    iar Urmărirea Datelor/Structurii este un instrument pentru
    afișați o prezentare generală a unui Minecraft
    lume, fără a o crea efectiv. Aceasta
    poate sa ...
    Descărcați Amidst
  • 2
    MSYS2
    MSYS2
    MSYS2 este o colecție de instrumente și
    bibliotecile care vă oferă un
    mediu ușor de utilizat pentru construcție,
    instalarea și rularea Windows nativ
    software. Acesta con...
    Descărcați MSYS2
  • 3
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo este un codec de imagine JPEG
    care utilizează instrucțiuni SIMD (MMX, SSE2,
    NEON, AltiVec) pentru a accelera linia de bază
    Comprimarea și decompresia JPEG sunt activate
    x86, x8...
    Descărcați libjpeg-turbo
  • 4
    Xtreme Download Manager
    Xtreme Download Manager
    Proiectul are acum o nouă locuință:
    https://xtremedownloadmanager.com/ For
    dezvoltatori:
    https://github.com/subhra74/xdm Xtreme
    Download Manager este un instrument puternic pentru...
    Descărcați Xtreme Download Manager
  • 5
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Caracteristici: rezoluție joasă 4:3 și 16:9
    Ieșire VGAPS/2 tastatură și mouse
    input Interfață de utilizator bazată pe text (TUI)
    cu manager de dialog Unicode parțial
    suporta dezactivarea slavei...
    Descărcați TTGO VGA32 Lite
  • 6
    Bootloader Clover EFI
    Bootloader Clover EFI
    Proiectul s-a mutat la
    https://github.com/CloverHackyColor/CloverBootloader..
    Caracteristici: Porniți macOS, Windows și Linux
    în UEFI sau modul moștenit pe Mac sau PC cu
    UE...
    Descărcați bootloaderul Clover EFI
  • Mai mult »

Comenzi Linux

Ad