CSS je zapravo gore zalutao u naslovu. Razmišljao sam da bi mogao biti dio toga ukupnog preprocesora, ali to je već “tjeranja maka na konac”. Ali pod ovim gore ukupnim preprocesorom ne mislim na to što radi less (pridruživanje varijabli) …nego integraciju CSS-a sa ostatkom u nekoj drugoj domeni…gdje bi se čak moglo onda i optimizirati imena klasa, tako što bi preprocesor mijenjao sva imena i unutar css-a, unutar HTML-a i unutar JS-a gdje bi prepoznao koje funkcije upravljaju klasama… (No skraćivanje imena je manje bitno…čini mi se da bi takav preprocesing (ukupni) …otvorio mnoge dobre mogućnosti za pisanje code-a unutar framworka koji bi bio tako preprocesuiran)
Ovo što si spomenuo za prijenos iz PHP -> JS, to naravno štima…ali nisi uhvatio što sam htio reći.
Zamisli da imaš preprocesor koji obradi sve JS skripte i optimizira (i kodira) skripte tako što će svim varijablama i funkcijama zamjeniti imena.
I sad neka varijabla recimo var UserName
nakon procesuiranja izgleda kao var a14
, ili var c41
(sa samo 3 karaktera bi bilo moguće popisati cca 50 000 različitih nameSpaceova
, a sa 4 karaktera cca 2 000 000)
Uglavnom, napravi se to kodiranje svih imena varijabli u neki kraći oblik…a sa servera više onda također ne smije u tom foreachu stići naziv “UserName” …kad je to sad za browser tipa: “a14”, kako je zapisano u obrađenim JS scriptama.
Ako odemo korak dalje, moguće bi bilo procesuritai i nazive atributa varijabli koje su po tipu objekt. Znači:
var Automobil=
{
godište:2001,
boja:'crvena',
tehnologija_proizvodnje:'bla bla'
}
se pretvori u:
a12:
{
a13:2001
a14:'crvena'
a15:'bla bla'
}
Koliko se meni čini, to bi dosadašnji max-compress moglo još dodatno smanjiti za 30-40%, jer code prevladava od imena varijabli i njenih atributa.
No glavna problematika kod kodiranja imena atributa je u tome da su ponekad potrebni izvorna imena atirbuta. Jer što kad se neka od tih varijabli pohranjuje u JSON, ili se prosljeđuje na server.
Kako će preprocesor razlikovati varijable (objekte) koje moraju zadržati izvorne nazive svojih atributa…i onih koji ne moraju.
Drugi grdi problem je što se atributi mogu prosljeđivati kao string varijable od funkcije do funkcije…kako bi preprocesor razlikovao takve stringove od običnih…
Za sve ostalo je prilično nebitno koji su nazivi atributa, dok god se ne mijenjaju nazivi onim objektima koji služe za komunikaciju sa nekim vanjskim izlazima/ulazima u aplikaciju.
A za svrhu developinga, kad bi recimo admin htio promatrati vrijednosti nekih atributa, on bi lako preko switcha učitavao stranicu sa izvornim skriptama.
Noćas sam legao u jedan, a nisam mogao zaspati do 5 ujutro koliko sam o ovom razmišljao, hahah 