Czym są lintery i kiedy ich używać?

☕️ 3 min

Czy pisząc kod wystarczy żeby działał? Do pewnego momentu tak. Ale jeżeli poważnie myślisz o programowaniu, warto zastanowić się czy można pisać kod bardziej czytelnie.

Linter to narzędzie, które może Ci w tym nieco pomóc. Doświadczony programista nie zaczyna bez niego projektu, a jednak początkujący często słyszą o nim dopiero w pierwszej pracy.

Obowiązkowe programy z perspektywy programistki

Czym jest linter?

Linter to narzędzie analizujące kod. Można o nim myśleć jak o bardziej szczegółowym kompilatorze, który poza błędami kompilacji informuje nas o błędach stylistycznych, czy o podejrzanych konstrukcjach kodu.

Działa automatycznie, najcześciej chodzi sobie gdzieś w tle i obserwuje pliki, które zmieniasz. Może być zintegrowany ze środowiskiem deweloperskim, którego używasz i automatycznie podkreślać nieprawidłowy kod.

Istotny jest fakt, że linter rozpoznaje błędy na podstawie reguł, które należy mu zdefiniować. Oznacza to, że można te reguły modyfikować w celu odwzorowywanie standardów, które chcemy utrzymać w projekcie.

Używanie linterów pozwala na wcześniejsze wykrycie błędów, a także forsuje jeden styl pisania kodu w całym projekcie.

Kiedy używać linterów?

Ponieważ lintery mają za zadanie pomóc programistce lub programiście pisać lepszy kod, uważane są za dobrą praktykę i generalnie zaleca się ich stosowanie. Sama staram się skonfigurować linter zaraz na początku projektu.

Poza oczywistym wymuszaniem ładnego i jednolitego kodu w całym projekcie, linter na pewnym etapie nauki może Cię wiele nauczyć.

Wyobraź sobie, że po tygodniach nauki HTMLa, CSSa i JavaScriptu chcesz napisać swój pierwszy projekt w jakimś frontendowym frameworku (takim jak np. React czy Vue). Znasz już jako tako składnie JavaScriptu i potrafisz napisać kod który działa.

Ale czy kod, który działa to wystarczająco dobry kod? Działający efekt można osiągnąć na wiele sposobów, skąd wiedzieć czy to ten właściwy? Linter może tutaj pomóc. Oczywiście nie wykryje on wszystkich nieprawidłowości czy błędów na poziomie architektury, ale może nauczyć Cię pisać bardziej czytelny i mniej podatny na błędy kod.

Kiedy uczę się nowej technologii, nie wiem jakie formatowanie kodu przyjmuje się w niej za to właściwe. Jaka powinna być długość lini, czy stawiać cudzysłów pojedynczy, czy podwójny, jakie robić wcięcia, jak nazywać parametry, formatować stringi itp. Staram się wtedy używać lintera z już zdefiniowaną przez kogoś konfiguracją, uważaną w środowisku za poprawną.

Dla JavaScriptu jeden z popularniejszych sposobów formatowania kodu jest ten zdefiniowany przez Airbnb.

Jak zacząć używać lintera?

Jeżeli masz taką możliwość, pytaj bardziej doświadczonych czego używają i jakie reguły mają zdefiniowane. Jeżeli nikogo takiego nie znasz wykorzystaj internet i znajdź odpowiednią grupę i zadaj pytanie. Wybierz się na meetup i kogoś zagadaj, albo zwyczajnie poszukaj w internecie. W przypadku ostatniej opcji mogą Ci się przydać pewne wskazówki.

Na początku warto się rozeznać jakie lintery są dostępne dla Twojej technologii i które z nich są najbardziej polecane. Nie obejdzie się bez małego reaserchu u wujka Googla:

[język programowania] linter

Warto zwrócić uwagę na integrację z edytorem, którego używasz do programowania.

W następnej kolejności poszukaj czy istnieją zdefiniowane i polecane konfiguracje do danego lintera. Może się zdarzyć, że nie. Wtedy dobrym punktem startu jest zacząć z tym, co domyślnie jest ustawione i z biegiem czasu to udoskonalać.

Czego używam?

Pisząc w JavaScript-cie używam ESLinta wraz z wtyczką do Visual Studio Code i zestawem reguł zdefiniowanych przez Airbnb.

Przy TypeScript-cie wykorzystuję TSLint również z wtyczką do VSCode, a o pomoc z konfiguracją poprosiłam osobę, która nie jeden projekt w TypeScript-cie już napisała.

W przypadku Swifta dostępny jest w zasadzie jedynie SwiftLint. Niestety jego konfiguracja jest bardzo uboga, więc wstyd się przyznać, ale często go nawet nie podpinam 😬.

Podsumowanie

Dobry moment na rozpoczęcie przyjaźni z linterem to pierwszy projekt. Wtedy składnia języka powinna być Ci już znana, a linter wymusi ładniejsze i bardziej czytelne pisanie kodu.

Początki mogą być nieco nieprzyjemne, kiedy linter będzie podświetlał co drugą linijkę i mówił, że dobrze byłoby to poprawić. Z czasem załapiesz jak to powinno wyglądać, a linter będzie jedynie pilnował, żeby wszystko było spójne.

Zostańmy w kontakcie

Odbieraj materiały i informacje, które pomogą Ci zadbać o swój rozwój i karierę programistki. Uzupełnij swoje dane i zapisz się na newsletter.