Én azt gondolom, hogy jó, és ahol lehet, érdemes használni. Sok hibáról tájékoztat, és pár dolgot egyértelművé tesz. Hátrányát csak nem megfelelő harmadik fél által írt kód esetében láthatod, illetve ha valami tiltott dolgot szeretnél használni.
Ha jól tudom, akkor nem lehet vegyíteni strict-et loose kóddal, szóval ha a saját fájljaimban használom, akkor az importált thrid party modulok simán elszállhatnak hibával... Mi erre az esély egyébként, gyakran találkozol vele? Ezek syntax error jellegű dolgok, és már fordításkor kiderülnek, vagy meg kell vármi, a modulban lévő kód használatát hozzá?
Kezdőknek talán jó lehet, egyébként meg olyan hibáktól véd meg, amit minimális gyakorlattal rendelkező programozó nem követ el. Annyi haszna van, mint az oldalakon kinn lévő "Valid HTML and CSS" embléma, amivel megmutatod, neked milyen hosszú.
Rengeteg már évek óta JavaScriptben kódoló személy kódját láttam már, és hemzsegnek azoktól a hibáktól, amiket a strict mode megfogna. Akit érdekel, milyen hibákat kapna el a strict mode érdemes Dmitry Soshnikov cikkét elolvasnia.
Mitől lesz egy kód jól működő, vagy rosszul működő? Valószínűleg nem lettek eléggé letesztelve, vagy esetleg használva sem. Mivel mi strict módot, linter-t (JSHint) és fordítót (Google Closure Compiler) is használunk, nálunk ezek eleve nem mennek át, le sem fordulnak. Akiknek a kódját olvasom, ott nem tudom, mik a követelmények, illetve hogyan ellenőrzik a kódot.
Ahol ezeket találtad, működött vagy sem? Ha igen, akkor ezek nem hibák. Ha nem működött, akkor meg nincs miről beszélni. Ha meg kijavítja, akkor tudni fogja legközelebb, hogy erre figyelni kell, és nem követi el még egyszer.
A rosszul működés azt jelenti, hogy működik, de nem minden esetben jól, például a parseInt()-nél ha nem adod meg a radixot.
Nem tudom, hogy működnek-e, illetve azt sem, hogy helyesen működnek-e. Sajnos nincs korlátlan időm, hogy mindenki kódjára teszteket írjak, hogy megtudjam, helyesen működnek-e.
Én vagyok Chuck, nem ő. Gáborral volt már vitánk, és megállapítottam, hogy hajlamos arra, hogy belássa, ha hibázik. Szóval lenyomtam. Én viszont sosem veszítek. :-)
jó
Ha jól tudom, akkor nem lehet
Mi erre az esély egyébként,
Nem sok, főleg, ha nem használsz harmadik féltől semmit, vagy csak minőségi modulokat használsz.
Ez nem igaz, ugyanis egyes függvényeidet is deklarálhatod
strict
-ként, és ha minden saját kódodat egy függvénybe csomagolod, akkor nincs probléma.Fölösleges
Nem csak kezdőknek
Amilyen hibákkal én találkozom:
this
hibás használata,parseInt
radix nélkül,var
kulcsszó elhagyása,callee
/caller
használata.Ahol ezeket találtad, azok
jól vagy rosszul működő kódok
Mitől lesz egy kód jól működő, vagy rosszul működő? Valószínűleg nem lettek eléggé letesztelve, vagy esetleg használva sem. Mivel mi strict módot,
linter
-t (JSHint) és fordítót (Google Closure Compiler) is használunk, nálunk ezek eleve nem mennek át, le sem fordulnak. Akiknek a kódját olvasom, ott nem tudom, mik a követelmények, illetve hogyan ellenőrzik a kódot.Ahol ezeket találtad,
A rosszul működés azt jelenti, hogy működik, de nem minden esetben jól, például a parseInt()-nél ha nem adod meg a radixot.
Ahol ezeket találtad,
Nem tudom, hogy működnek-e, illetve azt sem, hogy helyesen működnek-e. Sajnos nincs korlátlan időm, hogy mindenki kódjára teszteket írjak, hogy megtudjam, helyesen működnek-e.
Hmm, lehet én vagyok
Ha már megvan a gyakorlat,
Azokon a napokon
+1 :D
Rájöttem, hogy te valójában
én vagyok az
Csak össze akarsz zavarni ;).