Komentáře k článku

Kontrola JavaScriptu s JSLint a JSHint

V článku si představíme dva podobné nástroje, které vám mohou ušetřit čas při programování statickou kontrolou kódu v JavaScriptu. Zkontrolují, zda dodržujete jednotná pravidla zápisu kódu a upozorní vás na případné syntaktické chyby, překlepy, ale i na „zapomenuté“ příkazy, proměnné či nejasné konstrukce.

Zpět na článek

18 komentářů k článku Kontrola JavaScriptu s JSLint a JSHint:

    1. srigi

      Re: Validace z příkazové řádky

      Tahat kvoli tomuto JRE na server mi nepride ako najlepsi napad. Predpokladam, ze navod vznikol este v dobe, ked nebol v kurze Node.js, ktory sa predsalen hodi na server viac.

      1. tdvorak

        Re: Validace z příkazové řádky

        Nn, naopak sem nemel potrebu pouzivat node.js kdyz jre pouzivam pro kvanta jinych veci v ramci CI. Navic cely projekt nam bezi na jave, proste ji mame vsude :) Ale pokud nekdo nalinkujete implementaci pro debian v node.js, rad se priucim ;)

        1. srigi

          Re: Validace z příkazové řádky

          Uh, reagoval som prehnane rychlo a nedoslo mi, ze aj serverove aplikacie sa pisu v Jave. Dopleteny zo vsetkych tych dynamickych jazykov.

  1. Čelo

    coffee

    No tak jsem zkusil prohnat výsledek z CoffeScriptu přes JSLint a JSHint na vzorový kód „square = (x) -> x * x“
    Přes JSHint prošel ok, ale JSLint opravdu hází věci typu:
    – Expected exactly one space between ‚function‘ and ‚(‚.“
    – Expected ‚return‘ at column 5, not column 3.
    Bližší mi zůstane asi JSHint

  2. Jerry

    Validace v kurzu

    Autor JSLintu o svém „čístém“ JavaScriptu, který ten program vynucuje, napsal dokonce celou knihu, jmenuje se to JavaScript: The Good Parts. Myslím v článku o tom zmínka není.

    Jinak, tenhle přístup má asi něco do sebe, například v Google Go se projevuje v podobě nástroje gofmt, což je automatický formátovač kódu, jazyk tím má definovaný „jediný správný“ způsob odsazování atd.

  3. DavidDurman

    zeon.js

    Za zminku urcite stoji i Zeon.js (zeonjs.com). Je to kompletne v JavaScriptu napsany parser, generuje AST a provadi nad nim analyzu kodu. Velice pokrocily nastroj. Dokaze provadet analyzu real-time pri psani kodu. Reparsuje kod po kazde zmene pritom odezva je okamzita.

      1. pb

        Re: viac zdrojovych suborov

        problem je, ze pri kontrole JSLint napise, ze nepozna nejaku funkciu, ale ta je pritom dostupna v dalsom subore…
        jedine riesenie zatial vidim v docasnom zluceni vsetkych suborov kvoli kontrole… (prip. v ignorovani takych chybovych hlaseni)

  4. asdasd

    Re: Kontrola JavaScriptu s JSLint a JSHint

    Díky za tip na JSHint, JSLint jsem přestal používat proto, že autor do něj začal cpát svoje představy o jediném správném zápisu kódu a znechutilo mě prodírat se kupou nepodstatných hlášek, jako „Expected exactly one space between ‚)‘ and ‚event'“.

  5. blizz

    chyba?

    if (a = b)
    {

    }

    ale ono to neni chyba proste priradím do premennej „a“ hodnotu premnnej „b“ a premennú „a“ potom testujem či má hodnotu true

    1. tdvorak

      Re: chyba?

      Zato je to krasne krypticky kod, az pak budete hledat chybu, takovy zapis v pohode prehlednete. Proto se pred tim obecne varuje ;)

  6. juraj

    eval

    Netvrdím, že používať eval je správne, ale argument „a to ani nemluvíme o možných bezpečnostních rizicích, spojených s neošetřeným vstupem funkce eval()“ je v spojení s Javascriptom úplná hlúposť. Javascript beží u klienta, teda mi umožňuje spustiť akýkoľvek kód alebo bežiaci kód akokoľvek modifikovať. Bez ohľadu na to, či tam eval mám, alebo nie.

    1. Opravdový odborník :-)

      Re: eval

      To se asi týká případu, kdy hodnota přijde jako GET parametr (tedy potenciálně od útočníka, který poslal oběti odkaz), projde skrz server, kde se dostane do řetězce určeného pro eval() a na straně klienta se vykoná jako JavaScript a má stejná práva jako kód z dané domény (přestože pochází z jiné, od útočníka).

      1. juraj

        Re: eval

        Ak je programátor taký idiot, že Javascriptový kód pchá do query stringu, je to rovnako deravé, či sa použije, alebo nepoužije eval.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3517