Autor Zpráva
ah01
Profil
Znáte nějaký nástroj, který by provedl opačný proces k „minimalizaci kódu“. Tedy takový, který by z jednořádkového komprimovaného kódu udělal hezký přehledný strukturovaný kód? Nástroje, které jsem našel, si většinou vylámaly zuby na JSON zápisu. No a ten zbytek pak skončil na reg. výrazech.

Znáte nějaký takový nástroj, který byste mi mohli doporučit? Díky
zero0x
Profil
a co vsetko si uz skusal?

skus si pozriet rozsirenia pre firefox, len nedavno som nieco take videl.

a okrem toho Firebug vie kod pekne rozlozit, presne ako hovoris, ale ci si poradi s JSON tak to fakt neviem.
ah01
Profil
zero0x
Zkoušel jsem několik skriptu a programů, které najdeš na googlu (tedy nezkoušel jsem placené programy). Žádný mi nevyhovoval, ale zas tak důkladně jsem to nehledal, proto se ptám, jestli tady někdo nezná nějaký nástroj z vlastní zkušenosti.

Rozšíření pro FF jsem žádné nenašel, víš název?
Firebug to neumí, nebo se musí něco někde aktivovat?
Pilda
Profil
Zkus PSPad a tam HTML/Formátování kódu, nebo HTML/Tidi
peta
Profil
ah01
predevsim, co je JSON zapis? odkaz?
jinak bych zkusil tez PSPad vz Pilda
nightfish
Profil
peta
predevsim, co je JSON zapis? odkaz?
ano, první výsledek na googlu - http://www.json.org/js.html
ah01
Profil
Pilda, peta
PSPad jsem zkoušel jako první, ten si s JavaScriptem neporadí.

Uvedu příklad: http://seznam.cz/st/js/homepage.js , to je jeden JS kód z homepage Seznamu. Co uděláte, abyste se v tom vyznali?
Oswald
Profil
Tidying JavaScript code - geniální, leč prosté :)
los
Profil *
peta
often fail to cope with situations such as '{', '}' or ';' characters inside strings, regular expressions, or comments, so virtually all of them end up with broken code.
Tak to dekuji pekne :)

Prečítaj si celý odstavec, nie len polovicu vety.
Dero
Profil
los reagoval na petu, jehož příspěvek jsem k naprosté irelevanci smazal.

peta
Varování první: jakékoliv tvé mylné, zavádějící nebo OT příspěvky od této chvíle bez výjimky mažu nebo upravuji. Za ten čas mi to stojí, protože ty neděláš nic jiného, než že nesprávnými informacemi pleteš začátečníky.
ah01
Profil
Oswald
No prosté to je určitě, ale jestli je to geniální, to nevím. Zaprvé musím podotknout, že je to jeden z těch skriptů, co jsem již zkouše. Nezkoušel jsem ho ale v Opeře a musím uznat, že tam výsledek na první pohled vypadá dobře. Ale jen na první pohled. Mám k němu několik výhrad. Zdá se, že Opera trpí jistým neduhem všechno ozávorkovat, to by nebyl takový problém. Horší je, že u některých konstrukcí poněkud divně používá odsazování. A co je úplně nejhorší, u velkých scriptech se nic nestane a jen hlásí chybu, ačkoliv stejný kód Firefox zformátuje (byť blbě).

Možná jsem vybíravý, ale tohle řešení se mi nelíbí. A to z programátorského řešení, tak i z důvodu, že výsledek závisí na použitém prohlížeči.
Oswald
Profil
Vybíravý rozhodně jsi :) Nicméně, ukradl jsem hlavní myšlenku z Tarquinova řešení (přesně tu, která se ti nelíbí) a aplikoval ji na JS engine, který je od verze 1.6 obsažený v Javě (http://www.mozilla.org/rhino/). Výsledkem je tohle macro pro jEdit:

http://www.webkitchen.cz/lab/jEdit/Beautify_JavaScript.bsh

Jediná kosmetická vada je, že se z:

} else if () {


vždy stane:

} else { 

if () {


, jinak to ale, zdá se, formátuje dobře (K&R styl).

http://seznam.cz/st/js/homepage.js vs. http://www.webkitchen.cz/tmp/beautified.js
zero0x
Profil
OT:

haha vismnite si zoznam:

function gE(o)

{
return document.getElementById(o);
}


o prototype asi este nepoculi :)))
ah01
Profil
Oswald
Jak to bude vypadat v jiných enginech, mě taky napadlo. Tak jsem se konečně rozhoupal k přechodu na Javu 1.6. Akorát jEdit nepoužívám, použil jsem tedy tvůj kód a napsal si krátkou aplikaci - JSFormatter.java (jar). Musím uznat, že Rhino produkuje nejlepší kód jaký jsem zatím viděl, ale stejně k tomu mám výhrady. Možná je to právě tak jak píšeš, on to zformátuje podle K&R stylu, který prostě některé aspekty JavaScriptu nezohledňuje (JSON se to snaží napsat na jeden řádek, dokud nenarazí na funkci, tu začne správně „řádkovávat“, ale neodsadí ji v rámci JSON bloku).

Tyto problémy by se dali vyřešit regulárními výrazy. Jenže je otázka, jestli mají pravidla formátování přesně daná nebo je třeba u další verze nepatrně změní a tím by reg. výrazy přestali fingovat.
peta
Profil
nightfish
Dik, pocitam, ze autor cizi pojmy vysvetli sam :) Cili je skupina mezifunkci pro definovani objektu pomoci nekolika zvolenych parametru.

los
Jj, dal se mluvi o parseru prohlizece, ze si se zbytkem poradi. Tim padem uz ale kombinujes 2 ruzne parsery.
Ale tez se dal uvadi o problemech v IE a iCab.
Dik, jsem si to ale cetl :)

ah01
Co se tyce formatovace, tak jednoducha zalezitost - regularni vyrazy
Treba takove jednoduche pouzivam na generovani teto stranky:
http://www.volny.cz/peter.mlich/www.htm
los
Profil *
peta
Výborne, že si si to prečítal.

Teraz už len tomu porozumieť.
Toto téma je uzamčeno. Odpověď nelze zaslat.