Jak udržet přehlednost JavaScriptu

Libor

Jak udržet přehlednost JavaScriptu
« kdy: 07. 11. 2016, 14:08:06 »
Jak si udrzujete poradek v javascriptu. Mam script na webovkach a klasicky vse v jednom (cca 1000 radku). Pouzivam jQuery knihovnu. Kdyz neco hledam tak po delsi dobe najdu, ale je to proste takove cele neprehledne.
« Poslední změna: 07. 11. 2016, 14:26:08 od Petr Krčmář »


Kit

Re:Jak udrzet prehlednost javascriptu
« Odpověď #1 kdy: 07. 11. 2016, 14:19:10 »
Dobrým základem je "nemít vše v jednom".

Má to i výhodu v tom, že nemusím zbytečně escapovat některé běžné znaky a nemusím přepínat jazykové režimy v editoru.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Jak udrzet prehlednost javascriptu
« Odpověď #2 kdy: 07. 11. 2016, 14:33:27 »
Od vetsiho pouzivani jQuery se uz dlouho odrazuje, prave kvuli problemum, ktere vyvstavaji u netrivialnich aplikaci. Kdekoliv se muze odkukoliv cokoliv zmenit, takze se v tom velmi spatne orientuje. Jak popisujete, casto jsou to spagetova reseni, protoze samotne jQuery ani JS k nicemu nenavadi. Tento problem se bezne resi pouzitim knihovny ci frameworku. Podivejte se napr. na Angular 2, ktery ma jasne danou strukturu kodu a sepsana doporuceni, co jak resit, organizovat a proc to tak delat (nebo Angular 1 ci React, ale ten strukturu vynucuje podstatne mene).

pv.

Re:Jak udržet přehlednost JavaScriptu
« Odpověď #3 kdy: 07. 11. 2016, 14:56:19 »

klaxo

Re:Jak udrzet prehlednost javascriptu
« Odpověď #4 kdy: 07. 11. 2016, 15:23:08 »
Od vetsiho pouzivani jQuery se uz dlouho odrazuje, prave kvuli problemum, ktere vyvstavaji u netrivialnich aplikaci. Kdekoliv se muze odkukoliv cokoliv zmenit, takze se v tom velmi spatne orientuje. Jak popisujete, casto jsou to spagetova reseni, protoze samotne jQuery ani JS k nicemu nenavadi. Tento problem se bezne resi pouzitim knihovny ci frameworku. Podivejte se napr. na Angular 2, ktery ma jasne danou strukturu kodu a sepsana doporuceni, co jak resit, organizovat a proc to tak delat (nebo Angular 1 ci React, ale ten strukturu vynucuje podstatne mene).

JQuery je dnes bohuzial nevyhnutnost. Vela JS kodu je len pre Bootstrap, alebo JQuery, cely Bootstrap je zavisly na JQuery.

Ale je pravda ze JQuery je bordel, ktory uz len svojou filozofiou vedie k neprehladnemu kodu, ohyba si javascript, nerozumie si s arrow funkciami a OOP. okrem toho kombinacia jQuery pluginov s Reactom je tiez problematicka, aj ked dost casto nutna.


noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Jak udržet přehlednost JavaScriptu
« Odpověď #5 kdy: 07. 11. 2016, 15:33:54 »
jQuery je dobre, rozhodne na nej nenecham dopustit. Ale je to jen takovy univerzalni nastroj, ktery pouzivam spise kdyz pisu kratke user-scripty. Na psani celych aplikaci se moc nehodi. Rozhodne je nutne ho nejak znat, jak piseste, dost knihoven/komponent na nem zavisi. Parkrat jsem musel sahnout po jQuery i pri praci v Angularu, ale je to opravdu vyjmecne, neco jako jedno pouziti jQuery na tisice radku kodu.

S webpackem se celkem dobre zacina, gulp bych do zacatku urcite neradil (navic IMO jeho popularita klesa na ukor ostatnich reseni - treba webpacku a npm skriptu).

brendan

Re:Jak udržet přehlednost JavaScriptu
« Odpověď #6 kdy: 07. 11. 2016, 17:00:46 »
Modularizace - AMD, CommonJS nebo import v ES6. Pak to cele zbundlovat browserify nebo webpackem do jednoho souboru.

čumil

Re:Jak udržet přehlednost JavaScriptu
« Odpověď #7 kdy: 07. 11. 2016, 17:24:56 »
Build systém a mít rozházenej kód v malejch souborech

gulp
grunt
browserify
webpack

pokud děláš s nějakým renderovacím systémem jako je angular, react a tak, tak stejně chtě nechtě u nějakýho toho build systému skončíš. Některý frameworky maj i vlastní sestavovací systém (třeba meteor).

Lukas123

Re:Jak udržet přehlednost JavaScriptu
« Odpověď #8 kdy: 07. 11. 2016, 20:51:50 »
ES6 třídy a moduly. Nic lepšího nevymyslíš.

Libor

Re:Jak udržet přehlednost JavaScriptu
« Odpověď #9 kdy: 08. 11. 2016, 11:05:34 »
Dekuji vsem za namety projdu si je a uvidime kam se posunu. Rozhodne nekam musim, protoze aktualni stav je neudrzitelny.