Co to jest „Linting”?

1094

PHPLint , JSLint i ja niedawno natknęliśmy się na „możesz sfałszować swój kod JS w locie”, czytając coś o IDE .

Więc co to za strzępienie, które wszyscy znają oprócz mnie?

Ashkan Kh. Nazary
źródło
6
Słyszę ten termin dopiero, gdy kod studia wizualnego stał się rzeczą. wcześniej było to po prostu „inteligenckie”. Chociaż termin ten pochodzi z 1978 r. Z wikipedii, wydaje mi się, że był popularny dopiero niedawno.
v.oddou

Odpowiedzi:

1078

Linting to proces uruchamiania programu, który analizuje kod pod kątem potencjalnych błędów.

Zobacz szarpie na Wikipedii:

lint to nazwa oryginalnie nadana określonemu programowi, który oznaczył niektóre podejrzane i nieprzenośne konstrukcje (prawdopodobnie błędy) w kodzie źródłowym języka C. Termin ten jest obecnie stosowany ogólnie do narzędzi oznaczających podejrzane użycie w oprogramowaniu napisanym w dowolnym języku komputerowym.

Oded
źródło
140
Cytuj z wikipedii - „Termin ten pochodzi od nazwy niepożądanych kawałków włókna i puchu znalezionych w owczej wełnie”.
tan9
17
@HasanBaidoon - po prostu zgłasza naruszenia zasad stylu, niekoniecznie działa na nie w imieniu użytkownika.
Oded
Czy stylecop można uznać za wkładkę?
Adam Plocher
1
@Adam - zwykle linijka ma również opcję automatycznego naprawienia znalezionych problemów.
Oded,
@AdamPlocher Tak, to prawda. „StyleCop jest linerem w języku C #, który egzekwuje wytyczne dotyczące stylu.” github.com/mcandre/linters
mbomb007
184

Lint to nazwa programu, który przechodziłby przez Twój kod C i identyfikował problemy przed skompilowaniem, połączeniem i uruchomieniem go. To był statyczny moduł sprawdzający, podobny do dzisiejszego FindBugs dla Javy.

Podobnie jak Google, „lint” stał się czasownikiem oznaczającym statyczne sprawdzanie kodu źródłowego.

duffymo
źródło
122

Linting to proces sprawdzania kodu źródłowego pod kątem błędów programistycznych i stylistycznych. Jest to najbardziej pomocne w identyfikowaniu niektórych typowych i nietypowych błędów popełnianych podczas kodowania.

A Lintlub a Linterto program, który obsługuje szarpanie (sprawdzanie jakości kodu). Są one dostępne dla większości języków, takich jak JavaScript, CSS, HTML, Python itp.

Niektóre przydatne nitki to JSLint , CSSLint , JSHint , Pylint

VSri58
źródło
52

Oprócz tego, co wspomnieli inni, chciałbym dodać, że Linting przejdzie przez twój kod źródłowy, aby znaleźć

 -  formatting discrepancy 
 -  non-adherence to coding standards and conventions 
 -  pinpointing possible logical errors in your program

Uruchamianie programu Lint nad kodem źródłowym pomaga zapewnić czytelność, czytelność, mniej zanieczyszczeń i łatwiejsze utrzymanie.

Mangu Singh Rajpurohit
źródło
27

lint to narzędzie używane do oznaczania kodu źródłowego pewnymi podejrzanymi i niestrukturalnymi (może powodować błędy). Na początku jest to narzędzie do analizy kodu statycznego w C. Teraz stało się ono ogólnym terminem opisującym narzędzie do analizy oprogramowania, które oznacza podejrzany kod.

Marcus Thornton
źródło
20

Języki interpretowane, takie jak Python i JavaScript, w znacznym stopniu korzystają z podszywania, ponieważ języki te nie mają fazy kompilacji do wyświetlania błędów przed wykonaniem.

Linters są również przydatne do formatowania kodu i / lub przestrzegania najlepszych praktyk specyficznych dla języka.

Ostatnio używam ESLint dla JS / React i od czasu do czasu używam go z plikiem konfiguracyjnym airbnb .

JSON C11
źródło
3

Linting jest procesem programu liniowego, który analizuje kod źródłowy w określonym języku programowania i sygnalizuje potencjalne problemy, takie jak błędy składniowe, odchylenia od zalecanego stylu kodowania lub użycie konstrukcji, o których wiadomo, że są niebezpieczne.

Na przykład, linijka JavaScript oznaczałaby użycie pierwszego parseInt poniżej jako niebezpieczne:

// without a radix argument - Unsafe
var count = parseInt(countString);

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
RajeshK
źródło