scame (software)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Lint , sau linter , este un instrument care analizează codul sursă pentru a semnaliza erorile de programare, erorile , erorile stilistice și constructele suspecte [1] . Termenul derivă din instrumentul Unix cu același nume care examinează codul sursă al limbajului C [2] .

Istorie

Stephen C. Johnson , un om de știință în informatică de la Bell Labs, a inventat-o ​​în 1978, în timp ce depana gramatica yacc pe care o scria pentru C și se ocupa de problemele de portabilitate care decurg din portarea Unix pe o mașină pe 32 de biți [3] [2] . Termenul scame („puf”) provine de la denumirea fragmentelor nedorite de fibre și puf prezente în lâna de oaie . În 1979, scamele au fost utilizate pentru prima dată în afara Bell Labs în cea de-a șaptea versiune (V7) a sistemului de operare Unix.

De-a lungul anilor, diferite versiuni de scame au fost dezvoltate pentru multe compilatoare gcc C și C ++ și începând de astăzi au funcții similare cu cele ale scamei, de asemenea , similare cu instrumentele de scame și- au îmbunătățit capacitățile. De exemplu, PC-Lint-ul lui Gimpel, folosit pentru a analiza codul sursă C ++, este încă vândut chiar dacă a fost introdus în 1985 [3] .

Prezentare generală

Analiza efectuată de instrumente asemănătoare scamei poate fi realizată și de un compilator de optimizare, care are ca scop generarea unui cod mai rapid. În lucrarea sa originală din 1978, Johnson a abordat această problemă, concluzionând că „ideea generală de a avea două programe este bună”, deoarece acestea s-au concentrat pe lucruri diferite, permițând astfel programatorului să „se concentreze într-o etapă a procesului de programare numai pe algoritmi. . , structura datelor și corectitudinea programului și, ulterior, adaptarea, cu ajutorul scamei , a proprietăților dorite ale universalității și portabilității " [2] .

Deși compilatoarele moderne au evoluat pentru a include multe dintre caracteristicile istorice ale scamei, chiar și instrumentele asemănătoare scamei au evoluat pentru a detecta o varietate și mai largă de constructe suspecte. Acestea includ „avertismente cu privire la erorile de sintaxă, utilizarea variabilelor nedeclarate, apeluri la funcții depreciate, convenții de spațiu și formatare, utilizarea greșită a domeniului de aplicare, scăderea implicită a declarațiilor de comutare, anteturile de licență lipsă, [și] ... caracteristicile limbajului periculos” [4] ] .

Instrumentele asemănătoare scamei sunt deosebit de utile pentru limbaje interpretate precum JavaScript și Python . Deoarece astfel de limbaje nu au un timp de compilare care afișează o listă de erori înainte de execuție, instrumentele pot fi folosite și ca simple depanatoare pentru erori comune (de exemplu, discrepanțe sintactice), precum și erori greu de găsit, cum ar fi heisenbug (atragerea atenție asupra codului suspect ca „posibile erori”) [5] . Instrumentele similare, în general, scapă efectuează o analiză statică a codului sursă [6] .

Notă

  1. ^ Despre SublimeLinter - documentația SublimeLinter 3.4.24 , la www.sublimelinter.com . Adus la 18 noiembrie 2019 (arhivat din original la 21 ianuarie 2018) .
  2. ^ a b c Stephen C. Johnson , Lint, a C Program Checker , citeseerx.ist.psu.edu , 25 octombrie 1978, pp. 78-1273. Găzduit pe CiteSeer.
  3. ^ a b Richard Morris, Stephen Curtis Johnson: Geek of the Week , în Red Gate Software , 1 octombrie 2009. Accesat la 19 ianuarie 2018 .
  4. ^ Ghidul utilizatorului Arcanist: Lint , pe Phabricator . Adus pe 19 ianuarie 2018 .
  5. ^ (EN) ESLint - Instrument personalizabil de linting JavaScript (1) , de la CodeCampus, 9 iunie 2015. Adus pe 21 aprilie 2019.
  6. ^ Nigel Jones, How to Use Lint for Static Code Analysis , în Barr Group , 1 mai 2002.

Bibliografie

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT