mi az a linter? Röviden, a linter egy eszköz, amely segít javítani a kódot. A linter fogalma nem kizárólagos a JavaScript számára. Mégis, azt mondanám, hogy az emberek többsége, akik megpróbálnak megismerni a lintereket, érdekli azokat, amelyek a Javascriptet célozzák (vagy általánosabban, dinamikusan gépelt nyelvek.)

a mai posztban a címkérdésre válaszolunk, és még több. Kezdjük a “linter” kifejezés meghatározásával.,”Meg fogod érteni, mi ez a dolog, és hogyan jött létre. Ezután beszélünk a bélések előnyeiről, majd beszélünk az általuk kínált különböző típusú ellenőrzésekről.

végül néhány példát mutatunk be az Ön rendelkezésére álló bélésekről, adunk néhány gyakorlati tippet az induláshoz, valamint néhány végső megfontolást.

kezdjük.

mi az a Linter? Rövid áttekintés

kezdjük azzal, hogy meghatározzuk, mi a linter. Amint azt a bevezetőben olvasta, a linter egy eszköz, amely segít a kód javításában. De milyen módon csinálja ezt?, A válasz: a forráskód elemzésével problémákat keres.

a linter kifejezés egy eredetileg “lint” nevű eszközből származik, amely elemezte a C forráskódot. Stephen C. Johnson számítógépes tudós 1978-ban fejlesztette ki ezt a segédprogramot, amikor a Bell Labs-ban dolgozott.

mind az eredeti lint eszköz,mind a korábbi hasonló segédprogramok célja A forráskód elemzése volt a fordító optimalizálásával. Idővel a szöszszerű eszközök sok más típusú ellenőrzést és ellenőrzést kezdtek hozzá.,

azonban, amint azt a bevezetés során említettük, a linterek nem korlátozódnak az összeállított nyelvekre. Éppen ellenkezőleg: azt mondhatjuk, hogy a linterek sokkal értékesebbek az értelmezett nyelvek számára, mivel nincs fordító a hibák észlelésére a fejlesztési idő alatt.

A Linting előnyei

most tanultad meg a linter meghatározását. Most már azt is tudja, mikor találták fel ezt a fajta eszközt, és ki által. Valószínűleg már legalább egy általános elképzelése van arról, hogy mit tehet egy szöszi a kódért., De praktikusabb értelemben milyen előnyökkel jár az ilyen típusú eszköz? Itt van néhány:

  • Kevesebb a hiba a gyártási
  • Olvasható, karbantartható, valamint következetesebb kód
  • Kevesebb viták kód stílusú esztétikai döntések során kód vélemények
  • Objektív mérése kód minőségű
  • Több, biztonságos, nagy teljesítményű kód

A következő részben fedezi a típusú ellenőrzések hogy linters biztosítani. Miután elolvasta, meg fogja érteni, hogy a linterek Hogyan biztosítják a fenti előnyöket.,

az ellenőrzések típusai a Linterek

mint olvastad, az eredeti lint eszköz elemezte a kódot, hogy lehetővé tegye a fordítóprogramok optimalizálását, de idővel megjelentek a fejlettebb és teljes eszközök. Napjainkban számtalan különböző szűrőnk van, amelyek sokféle ellenőrzést biztosítanak. Menjünk át gyorsan néhányon.

szintaktikai hibák

a legalapvetőbb és létfontosságúbb típusú ellenőrzések, amelyeket a linter nyújthat, a szintaktikai hibaellenőrzések a JavaScript és más értelmezett nyelvek esetében., A fejlesztők nem is nyomja kódot a fővonal nélkül halad szintaxis ellenőrzéseket.

ennek egyik módja az, hogy olyan pre-commit horgokat használjunk, amelyek megakadályozzák a felhasználókat abban, hogy megnyomják kódjukat, amikor a linter ellenőrzése azt jelzi, hogy problémák vannak a kóddal.

Kód szabványok betartása

egy másik fontos típusú ellenőrzés, amelyet a linterek biztosítanak, a kódolási szabványok betartása. Vannak, akik ezt pusztán esztétikai aggálynak tekintik, de tévednek., Az egységes kódolási stílus jótékony hatással van az olvasás, a megértés és a kód fenntartása kognitív terhelésének csökkentésére. A következetes kódstílusú kódbázist könnyebb megérteni, az azt használó fejlesztők pedig kevésbé valószínű, hogy hibákat vezetnek be.

ezért vannak olyan vonalzók, amelyek a kódbázisok ellenőrzésére szakosodnak a kódstílusok betartásához. Egyes eszközök nagyképűek, azaz előre meghatározott szabályrendszerrel és konvenciókkal rendelkeznek, amelyeket nem lehet megváltoztatni., Másrészt vannak olyan eszközök, amelyek nagyon konfigurálhatók, lehetővé téve a felhasználó számára, hogy az eszközt az előnyben részesített kódolási stílusokhoz igazítsa.

lehetséges problémák (más néven Kódszagok)

a Kódszagok arra utalnak, hogy valami baj lehet a kóddal. Hihetetlenül hasznos, ha van egy eszköz, amely automatikusan felismeri ezeket a jeleket, így szükség esetén tovább vizsgálhatja őket.

például sok ember—beleértve engem is-a hosszú funkciókat kódszagnak tekinti. Tehát konfigurálhatja a szintert úgy, hogy észlelje az adott sorszámnál hosszabb funkciókat.,

egy másik gyakran idézett kódszag túl összetett kód. De nem szubjektív módon beszélünk a komplexitásról,hanem nagyon objektív. A ciklomatikus komplexitás egy hasznos kódmutató, amely a függvényen belüli lehetséges végrehajtási utak számát jelenti. A linterek kiszámíthatják a funkciók ciklomatikus összetettségét, és megjelölhetik azokat, amelyek magasabbak egy bizonyos küszöbértéknél.

biztonsági ellenőrzések

végül, de nem utolsósorban, biztonságunk van, ami kétségtelenül a modern alkalmazás, különösen a webes alkalmazás legkritikusabb aspektusa., Félreértés ne essék, a következmények katasztrofálisak lehetnek, nem csak a pénz és a jó hírnév tekintetében, de még a Jogi is (gondoljunk csak a GDPR-re és hasonló szabályozásokra.)

szerencsére ez egy másik terület, ahol a szegélyek segíthetnek, mivel vannak olyan eszközök, amelyek fontos biztonsági ellenőrzéseket biztosítanak.

statikus analízis megértése

elmagyaráztuk, hogy mi a linterek, és miért hasznosak. Is, már lefedett a fő típusú linterek. Most már készen áll, hogy megismerjék néhány példát a szöszölő eszközök a különböző felhasználási cél programozási nyelvek.,

mielőtt odaérnénk, Vegyünk egy rövid kitérőt a statikus elemzésről, mivel ez a kifejezés a következő részben jelenik meg, még nem határoztuk meg.

Tehát mi a statikus elemzés? A statikus analízist úgy gondolhatja, mint egy előre Futtatott hibakeresést. A statikus elemzés olyan eszközök használatából áll, amelyek elemzik a forráskódot, hibákat keresve, a szabályok vagy egyezmények betartásának hiánya, vagy más lehetséges problémák.

a következő szakasz példákat mutat be az elvégzett ellenőrzés típusa szerint kategorizált szűrőkre., A statikus analízis alapján kategorizált bejegyzések többnyire a fenti szakaszban felsorolt első és harmadik típusú linterekre vonatkoznak.

példák a Linterekre

röviden említsünk néhány példát a linterekre. Bemutatunk példákat a különböző programozási nyelvekre, amelyeket az általuk nyújtott ellenőrzés típusa szerint kategorizálunk. Ne feledje, hogy egyes eszközök egynél több típusú ellenőrzést kínálhatnak, ezért egyes eszközök egynél több kategóriában jelennek meg.,>

  • StandardJS a JavaScript
  • PHPMD a PHP
  • StyleCop a C#
  • Linters Biztonsági

    • Gosec a Go
    • Bandita Python
    • LGTM több nyelven, köztük a JavaScript használatát, Python, C#

    Linters a Kódolási Konvenciók / Kódolás, Formázás

    • Szebb, a JavaScript
    • Rubocop a Ruby
    • StyleCop a C#

    Linters JavaScript: Hogyan kezdjük

    Mielőtt lezárjuk a cikk, szeretnénk adni egy rövid, de gyakorlati útmutató, hogyan kell elkezdeni linting a JavaScript., Mivel ez a JavaScript beszélünk, ez nem meglepő, hogy sok eszköz közül választhat. Mivel választanunk kell egyet, ESLint-tel megyünk.

    Eslint

    első dolgok először: telepítsük a szöszt. Az ESLint NPM-en keresztül van telepítve, ami azt jelenti, hogy rendelkeznie kell csomóponttal.js telepítve. Ha még nincs meg, töltse le és telepítse, hogy folytathassuk.

    csomóponttal.js telepítve, készen állunk az ESLint telepítésére az npm-en keresztül., the following command:

    1
    npm install eslint –global

    However, this isn’t the approach recommended in their documentation., Ehelyett valószínűleg telepítenie kell az ESLint-et projektenként.,ory for your project:

    1
    mkdir eslint-sample-app

    Then, cd into the directory and run the command below to create a package.,json fájl (szükség lesz az úton.)

    1
    npm init

    Npm fog feltenni neked néhány kérdést., Csak nyomja meg az enter billentyűt az alapértelmezett válasz használatához.,igen, futtatásával:

    1
    npx eslint –init

    Amikor futtatja a parancsot a fenti ESLint meg fogja kérdezni, hogy mit akarsz használni., A lehetőségek a következők: a szintaxis ellenőrzése, a szintaxis ellenőrzése és problémák keresése, valamint a szintaxis ellenőrzése, problémák keresése és kódstílus érvényesítése.

    menjünk az utolsó opcióval. Használja a nyilakat a beállítások megváltoztatásához, majd írja be a megerősítéshez. ESLint majd szeretné tudni, hogy milyen típusú modulok a projekt használata. A válaszok a következők:

    • JavaScript modulok
    • CommonJS modulok
    • ezek egyike sem

    válassza ki a JavaScript modulokat és folytassa. Ezt követően megkérdezi, hogy melyik keretet használja a projekt., A válaszok ismét három:

    • React
    • Vue
    • ezek egyike sem

    esetünkben válasszuk a “Nincs” opciót. A következő kérdés egy “igen / nem” kérdés: a projekt Typescript-et használ? Nyomja meg az” N ” nem. Ezután megkérdezi, hogy a kód a böngészőben vagy a csomópontban fut-e.

    az ESLint ezután megkérdezi, hogyan kell kiválasztani a projekt kódstílusának meghatározásának módját. Három lehetőséget kínál Önnek: népszerű stílus útmutató használata, a stílus preferenciáival kapcsolatos kérdések megválaszolása vagy az Ön ellenőrzése .js akták. Válassza ki az első lehetőséget., Ezután három stílus közül választhat: AirBNB, Standard és Google. Ehhez a bemutatóhoz válasszuk a Google-t.

    az ESLint ezután megkérdezi, hogy melyik formátumot szeretné a konfigurációhoz. Válassz YAMLT. Végül, amikor megkérdezték, hogy szeretné-e letölteni a kiválasztott kódstílust az npm használatával, válaszoljon “igen.”

    az ESLint használatával ellenőrizheti a

    fájlt a letöltés befejezése után készen áll az ESLint használatára egy fájl ellenőrzéséhez. De ehhez szüksége van egy fájlra, hogy ellenőrizze. Ha véletlenül van egy .JS fájl lóg valahol, másolja be a projekt könyvtárába., Alternatív megoldásként klónozhatja ezt a tárolót, amely egyetlen fájlt tartalmaz, majd felhasználhatja a teszteléshez.,

    ahhoz, Hogy nézd meg a fájlt, akkor használja a következő parancsot:

    JavaScript

    1
    npx eslint útvonal-a-fájlt.,js

    Ez az eredmény, amelyet az üdvözletre célzott parancs futtatásából kapok.,js fájl letölthető a tárolóból a GitHub:

    1
    2
    3
    4
    5
    6

    F:\demos\eslint-demo\greeter.,js
    2:3 hiba hiányzik JSDoc megjegyzés szükséges-jsdoc
    3:1 hiba ez a sor hossza 86. Maximális megengedett 80 max-len
    10:4 hiba váratlan ‘ez’ nem érvénytelen-ez
    3 problémák (3 hibák, 0 figyelmeztetések)

    mint látható, van három hiba és nincs figyelmeztetés.

    mi az a Linter? Egy nagyszerű eszköz a Toolbelt

    ebben a bejegyzésben megvizsgáltuk a fogalmat egy linter eszköz. Most már van egy szilárd ötlet, hogy mi linters és miért kell elfogadni egy., Továbbá, megtanultad a különböző típusú linter eszközöket és példákat az egyes kategóriákra, több különböző programozási nyelvet célozva meg.

    mindezek mellett most már tudod, hogyan kell elkezdeni egy népszerű JavaScript szöszölő eszközt: ESLint.

    mik a következő lépések?, Számos dolog, amit meg lehet tanulni, hogyan kell csinálni a következő:

    • tiltsa szabályok
    • engedélyezze a szabály, mint egy figyelmeztetés vagy hiba
    • integrálja linting be a build folyamat
    • Speciális konfigurációs opció
    • hozzon létre egyéni szabályok

    akkor is, természetesen, kísérletezni más linters. Csak azért, mert az ESLint-et választottuk erre az útmutatóra, ez nem jelenti azt, hogy meg kell ragadnia vele.

    végül ne felejtsük el, hogy a szöszölés, miközben hihetetlenül értékes, csak egy másik fegyver az arzenáljában., Ne feledkezzünk meg az automatizált tesztelés, kód felülvizsgálat, refactoring, és sok más gyakorlatok, technikák, eszközök az Ön rendelkezésére a soha véget nem érő elleni küzdelem káosz a codebase.

    és az összes olyan gyakorlat, technika és eszköz közül, amelyet kihasználhat a kódbázis jobbá tétele érdekében, nem tudunk segíteni, de az egyedülálló végpontok közötti tesztelés, amely gyakran figyelmen kívül hagyott tesztelési típus. És ez szégyen. A megfelelő eszközzel, hogy segítsen ki, minőségi end-to-end tesztelés lehet egy erős szövetségese a harcot a kód entrópia.

    Articles

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük