ugrás a tartalomhoz

js strict mode

inf3rno · 2014. Feb. 26. (Sze), 01.29
1

Poetro · 2014. Feb. 26. (Sze), 01.53
É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.
2

Ha jól tudom, akkor nem lehet

inf3rno · 2014. Feb. 26. (Sze), 02.02
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á?
3

Mi erre az esély egyébként,

Poetro · 2014. Feb. 26. (Sze), 09.11
Mi erre az esély egyébként, gyakran találkozol vele?

Nem sok, főleg, ha nem használsz harmadik féltől semmit, vagy csak minőségi modulokat használsz.
Ha jól tudom, akkor nem lehet vegyíteni strict-et loose kóddal

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.
4

Fölösleges

Hidvégi Gábor · 2014. Feb. 26. (Sze), 09.13
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ú.
5

Nem csak kezdőknek

Poetro · 2014. Feb. 26. (Sze), 11.15
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.

Amilyen hibákkal én találkozom:
  • this hibás használata,
  • parseInt radix nélkül,
  • fenntartott szavak használata változónévként,
  • var kulcsszó elhagyása,
  • callee / caller használata.
7

Ahol ezeket találtad, azok

Hidvégi Gábor · 2014. Feb. 26. (Sze), 12.24
Ahol ezeket találtad, azok jól vagy rosszul működő kódok voltak?
9

jól vagy rosszul működő kódok

Poetro · 2014. Feb. 26. (Sze), 12.42
jól vagy rosszul működő kódok voltak?

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.
10

Ahol ezeket találtad,

Hidvégi Gábor · 2014. Feb. 26. (Sze), 12.56
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.
12

Ahol ezeket találtad,

Poetro · 2014. Feb. 26. (Sze), 13.46
Ahol ezeket találtad, működött vagy sem?

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.
13

Hmm, lehet én vagyok

inf3rno · 2014. Feb. 26. (Sze), 14.19
Hmm, lehet én vagyok kivételes, csekkoltam egy kódomat, de nem jelzett hibát...
14

Ha már megvan a gyakorlat,

bamegakapa · 2014. Feb. 26. (Sze), 14.25
Ha már megvan a gyakorlat, ritkábban hibázik az ember, de mindenkinek vannak rosszabb napjai :).
15

Azokon a napokon

Hidvégi Gábor · 2014. Feb. 26. (Sze), 14.28
A programozók általában férfiak.
16

+1 :D

inf3rno · 2014. Feb. 26. (Sze), 15.00
+1 :D
6

Rájöttem, hogy te valójában

bamegakapa · 2014. Feb. 26. (Sze), 11.27
Rájöttem, hogy te valójában Chuck Norris vagy. Nem várhatod el mindenkitől, hogy felérjen hozzád. Mi halandók hibázunk ;).
8

én vagyok az

zzrek · 2014. Feb. 26. (Sze), 12.38
É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. :-)
11

Csak össze akarsz zavarni ;).

bamegakapa · 2014. Feb. 26. (Sze), 13.06
Csak össze akarsz zavarni ;).