Dziś będzie raczej skąpo z treścią jednak za to jak treściwie. W weekendu zajmowałem się naprawianiem bugów, refactoringiem i upiększaniem kodu JavaScript, który otrzymałem od jednego z programistów jako:
- Przetestowany
- W pełni działający
- Spełniający wszystkie wymagania
W ciągu pierwszych 3 sekund obaliłem punkt 2, następnie udało mi się obalić punkt 1 zaś dziś około 1 w nocy również punkt 3. Jednakże nie byłoby to możliwe gdyby nie super zajefajne narządko JSLint (darmowe, webowe, widziałem też gdzieś rozszerzenie do Notepad++), które bezlitośnie wytknęło 89 miejsc w których brakowało średnika, około 240 nieużywanych zmiennych oraz przez przypadek super inteligentne porównania wartości w IFach, które bezpośrednio miały wpływ na to, czy coś zadziałało czy też nie.
Oczywiście nie wszystkie podpowiedzi JSLint mają sens lub sens w naszym przypadku, jednak daje ono dobry pogląd na nasz kod i na pewno lepiej wytknie błędy składniowe niż VS.
Nie spędziłem za dużo czasu szukając narzędzia, więc może coś przegapiłem, może znacie jakieś lepsze lub korzystacie z jakiegoś które jest godne polecenia?
Na szybko wrzuciłem pierwszy lepszy skrypt jaki kiedyś pisałem i… normalnie zajebiste! VS niech się schowa. A ja – do roboty:).
jquery-1.4.1 generuje kilka błędów.
jquery-1.5.2 już mniej ale ciągle jest czerwono.
Ale patrząc na proporcje ilość błędów / ilość linii kodu to moje skrypty wypadają znacznie gorzej :). Dobre w tym narzędziu jest to ze wytyka błędy mówiące o tym ze ‘===’ nie równa się ‘==’ w js, o czym niewiele osób wie. Jednym słowem świetna sprawa!
@gekon: mam wrażenie, że raczej sporo osób jednak wie :) Podobnie sprawa się ma w innych językach skryptowych, np. w PHP.
http://www.yarpo.pl/2011/01/19/operatory-porownan-w-js/
być może także ten artykuł zatrzęsie Twoim światem ;)
http://ferrante.pl/2009/09/05/falsy-values-i-operatory-porownania/
Zauważyłem w swoich skryptach, że zdecydowanie polepszyły się wyniki w JSLint, gdy zacząłem używać wzorca fabryki:
http://www.yarpo.pl/2011/01/11/wzorzec-fabryki-obiektow-w-js/
Dla chętnych, mój zestaw zasad JavoScriptowych:
http://www.yarpo.pl/2011/01/11/wzorzec-modulu-dobre-praktyki/
ScriptSharp + Resharper, dla mnie to zdaje egzamin… :)
JSLint jest trochę zbytnio restrykcyjny, przykładowo http://stackoverflow.com/questions/1450721/solution-for-jslint-errors
Jeżeli zmieni się kod wg tego zalecenia, to sypie się formatowanie kodu w VS: http://stackoverflow.com/questions/6102859/change-javascript-text-spacing-formatting-in-visual-studio
Dlatego ja używam i polecam JSHint’a: http://jshint.org/
:)
zgadza sie, ale tez nie wszystkie bledy nalezy naprawiac :) to ze jakis analizator mowi ze pewnie miales na mysli "to", to nie oznacza ze to chciales osiagnac :)
jsHint jest fajny i fajnie ze mozna go z VS zintegrowac – http://chirpy.codeplex.com/ opis tutaj http://www.weirdlover.com/2011/03/03/chirpy-v2/#jshint jednak ma on tez swoje wady, jak na przyklad przy korzystaniu z MarkItUp ma klopot z plikiem settings i sypie caly czas errorami.
PS.: tak poza tym to o jshint dowiedzialem sie przypadkiem jak zaczalem korzystac z Chirpy :)
Widzę, że jest tu kilka osób znających się na JS.
Ostatnio napisałem trochę o JS, jest to część mojej magisterki. Byłbym wdzięczny za konstruktywny komentarz:
http://www.yarpo.pl/2011/06/03/javascript-na-powaznie/
dzieki za linka!
Comments are closed.