Új hozzászólás Aktív témák

  • Jim-Y

    veterán

    Az is látszik amúgy, hogy egy egyszerű lintelésen se futtatták át, mert akkor nem maradtak volna benne ilyen hibák:

    Running "jshint:files" (jshint) task

    tohint.js
    1 |'use strict';
    ^ Use the function form of "use strict".
    41 | if(n==i)
    ^ Expected '===' and instead saw '=='.
    64 | w=ut_slider_get_width();
    ^ 'w' is not defined.
    65 | offset=w*n;
    ^ 'offset' is not defined.
    65 | offset=w*n;
    ^ 'w' is not defined.
    68 | $(this).css('left', (0-offset) +"px");
    ^ 'offset' is not defined.

    1 az igazából nem az ő "hibája", de az igen, hogy nem használ, vagy legalábbis a kódrészletben nincs :)

    Bad habit:
    - Új sorban nyitni a { zárójelet függvény definíciónál az automatikus semicolon insertion miatt. Több style guide is ellenjavallja. Gondolom C++ -s emberke írta a kódot.
    - Lehet csak nekem szúrja a szemem, de sorozatosan $.each -nél $(this) -t használ az aktuális elemre, amikor az eachnek van erre argumentuma, ha azt használná, akkor egyrész megspórolná a this használatát ami szintúgy ellenjavallot, illetve még olvashatóbbá, és egyértelműbbé is tenné a kódot.

    Már csak azért is bad habit így használni, mert ha megszokja, akkor esetleg legközelebb egy ilyen helyzetben is így csinálja, és néz majd, hogy miért nem az történik, mint amire számítana:

    $('.slide').each(function (i) {
    $(this).css('backgroundColor', 'red');
    setTimeout(function() {
    $(this).css('backgroundColor', 'green');
    }, 1000);
    });

    A többit pedig már leírták. De azért a w-t, meg az offsetet globálissá tenni azért elég csúnya :)

Új hozzászólás Aktív témák