Proč Uploader 2.0 ještě není?
… i když jsem ho už před zimními svátky sliboval? Víte, ono to není tak snadné. Průměrný programátor za den napíše 500 řádků kvalitního objektového kódu. Já jich napíšu 10 a pak 25 smažu.
A teď na vážnější notu. Víte, nejsem rozený programátor. Nestačí mi, že věc funguje, potřebuji, aby fungovala perfektně. Nejlépe aby vnitřní konstrukce působila dojmem výtvoru génia. Nejde o to dodělat nějaké ty funkce… už je to vše dávno hotové. Ale piluji. Beru do ruk pilník a piluji.
Tadyhle kousek divně vyčnívá, musím ho zapiloval. A co tato proměnná? Musí být parametrem funkce? Nemohu ji nacpat mezi proměnné třídy? Zpřehlední se to. Co támhle to pole? Chtělo by to ho trošku srovnat, je opravdu neesteticky rozorané… Na jaře vyseju ječmen.
Nový Uploader bude hodně nový. Dalo by se říci, že je od základů překopaný. A také je objektový. Řeknu vám jak jsem ho rozobjektoval. Dříve nebo později to bude potřeba napsat odbornější formou do oficiálního manuálu, takže si to alespoň sám pro sebe zrekapituluji. Ať nezačínám s manuálem na zeleném poli.
Důležité je vědět, že k objektům, třídám a instancím nepřistupuji jako obyčejný programátor, nýbrž jako obyčejný humanistický netechnický myslitel. Třídy jsou složky. Pomáhají mi, aby se funkce, jež jsou tématicky spjaté, nacházely přibližně na jednom místě. Krásně to demonstruje…
Třída Events. Funkce v ní jsou vždy volány takzvaně staticky. Obsahuje funkce
HandleUpload
, HandleDirCreation
,
HandleAtp
. Jelikož su zajíc prohnaná, vytvořil jsem si také
funkci HandleAll, uvnitř které volám na všechny ostatní. Aby
v indexu nemusel oxidovat celý seznam HandleNěco funkcí. To je jen
takové nakouknutí pod pokličku mé geniality :-).
Podobně to funguje s třídou SelfCheck, která se
elegantním zavoláním SelfCheck :: CheckAll();
postará, aby se
Uploader nestartoval, pokud nějaké okolnosti jsou nanejvýš podezřelé.
Třeba, že si uživatel nastavil do hesla neplatný hash. A tak různě.
V takovém kritickém případě je spouštění Uploaderu v zárodku
zastaveno a uživatel je počastován elegantní chybovou hláškou.
Třídy FileList, DirList, Messages, Permissions, Skin (a co já vím jaké tam ještě jsou) sice rovněž fungují na principech sofistikovaných stejně jako třídy zmíněné, ale nemohu prozrazovat všechno, protože něco z toho všeho je tajné.
Pro nažhavení bych mohl zmínit pár vychytávek, které (krom architektury kódu) přispěly k razantnímu skoku z verze 1.2 až na verzi 2.0. Tož třeba.
- dočkáte se pár nových skinů
- dočkáte se uploadu více souborů najednou
- dočkáte se automatického přihlašování (sušenka na požádání)
- a dočkáte se pár dalších kůl fičůr, které vás zvednou ze židle a posadí na zadek.
Neboli, abych to hezky zrekapituloval, už se to blíží. Jen musím něco dopilovat… tady a támhle…
Komentáře (6)
k formuláři
RSS kanál komentářů
18.2. 2007 — 12:09
Už se těším… Přeji hodně štěstí a nabroušený pilník :)
Jen tak mimochodem… Plánuješ i nějaký update pro HandyCode?
18.2. 2007 — 13:40
[1] Jan Smitka: – u HandyCode uvažuju že upravím css aby i ie jůzři měli hezký pohled a taky uvažuju o rss… ale zatím se mi do toho moc nechce. Máš nějaké konkrétní přání?
20.2. 2007 — 9:47
[2] Kahi: – žádné přání nemám, alespoň ne takové, které bych nebyl schopen sám naprogramovat… Leda že by se ti chtělo poladit kompatibilitu s PHP 5, aby se nemuselo nastavovat session.bug_compat_42 na off. Ale to je vedlejší, 1 řádek do .htaccess nikoho snad nezabije.
20.2. 2007 — 21:28
Moc hezké. Chtěl bych mít tolik chuti k pilování, ladění a hraní si z kódem. Jenže už mě to nějak nebaví. Po několika letech neustálého honění termínů, kdy je člověk rád, že to alespoň “nějak” zbastlí, nemůžu čekat, že mě pilování bude stále bavit, jako dříve. Jakž takž to sice stále jde, ale rok od roku to víc a víc skřípe.
8.7. 2007 — 19:59
Uff tu asi dlho nik nebol :(
inak pracuješ ešte na 2.0?
8.7. 2007 — 20:16
[5] Nomojo: – dělám na tom tak nějak průběžně. Teď se k tomu tak přinejmenším týden nedostanu… Čekáš na nějakou konkrétní funkci?
Přidat komentář