Stvar je toliko bazično jednostavna…da iskreno mislim da si zasjenjen u glavi kompleksnijim konceptima kakve očekuješ i ovdje, pa od šume ne vidiš drvo.
Znači, jednostavno je da ne može biti jednostavnije. I ne treba ti ništa osim core JS-a da se koncept izgradi. Instalacije i sve ostale kerefeke…se mogu raditi kako tko želi…bilo ručno, bilo npm…kako god. Ovo znači uopće ne zadire u taj dio.
Ponavljam, sve što treba je uvesti standardne nazive metodama za komponente …za koje smo se osvjestili da postoje. To je ključ…osvjestiti se što sve postoji i to standarizirati. To nije nimalo lak zadatak…jer varijacija na temu ima mali milijun. No to ne znači da ih je beskonačno, nego ih je konačan broj. A standard ne treba obuhvatiti niti sve…nego samo najčešće pojavke komponenti i njihovih metoda.
I to je to. Cijela ideja je kreirati standard. To je glavno…ništa osim toga.
I pravo pitanje se onda zapravo postavlja, tko ima koristi od toga standarda kojeg izmišljamo?
To pitanje sam već toliko pročešljao uzduž i poprijeko ove teme…da se neću ponavljati. Da si shvatio koliko je koncept jednostavan, možda bi se fokusirao na ono što sam govorio.
No, primjera radi…ja tamo objašnjavam kako bi se danas-sutra gumb u nepoznatu komponentu trebao moći ugraditi “tek onako što izgovorimo da bi ga htjeli ugraditi” …a da dalje ide sve po automatizmu. Ti se nakon tog posta uhvatiš funkcije koju će taj gumb pozivti (Bilo je export table to excel) …i ne vidiš od prve rečenice ostatak posta…i ostaneš u nekim svojim imaginarnim shvaćanjima što sam htio reći.
I da, u budućnosti IPAK nećemo moći samo izgovoriti da se gumb ugradi. Jer to teoretski nije dovoljno informacija za ugradnju gumba.
Ajmo vidjeti koje su informacije nužno potrebne:
- funkcija gumba koja će se pozivati
- komponenta u koju ga želimo ugraditi
- ime gumba ili ikona gumba (S time da ni ovo nije nužno, jer već iz prve informacije bi program mogao samostalno zaključiti kako se gumb može razumljivo zvati …ali za to bi trebao još jedan veći standard. Ne idemo tako daleko za sad.)
…dalje od toga su opcionalne informacije:
- ikona
- duži opis što gumb radi
- …našlo bi ih se još…
Znači, teoretski kod dodavanja buttona je samo nužan uvjet reći programu koju funkciju će on obavljati i gdje će se nalaziti. Dalje bi sve moglo ići po automatizmu. I s obzirom na današnji pristup zajednice, primjećujem jedan veliki DRY break.
No zamisli kada šef govori zaposleniku, on upravo kaže samo najbitnije informacije:
“Daj molim te tu negdje ugradi gumb da korisnik može fino eksportati ovu tablicu.”
Kapiš, to su nužne potrebne informacije…ponavljanje svega ostaloga u procesu ugradnje gumba je kršenje DRY-a.
Naravno, ja nisam toliko daleko otišao da moramo odmah moći govoriti računalu šta da radi…ali se da nazrijeti da je ovo bitna podloga da se dosegne i taj nivo.
No, iako nećemo glasom to reći računalu…poanta je da se onda ta ista naredba može sažeti u jednu jednostavnu liniju code-a, koja prima samo ta dva nužna parametra. Ostale po želji.