Šuplík Honzy Hučína

Skok na navigaci (menu)

Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.

Komentovaný článek

Internet a vše kolem
31. 8. 2006

Co vám v knížce neřeknou I.

„Po přečtení této knihy se můj pracovní výkon zvýšil pětkrát.“ Tak by to napsali v Americe.

Ve skutečnosti vám málokterá kniha dá něco sama. Ani tahle nedala. Přínos nastane, až když o tom člověk přemýšlí.

V knížce se totiž dovíte, jak se co zapisuje a co to dělá, ale nedozvíte se, jak se to dá dobře použít. Případně proč je tento způsob efektivnější než jiný. Stručně: hodně knížek vás naučí jazyk, ale nenaučí vás ho efektivně používat (a programovat už vůbec ne).

Uvedu pár příkladů, všechny budou samozřejmě o (programování pomocí) PHP. Podotýkám, že to není recenze ani kritika žádné knihy, následující poznatky jsou hodně obecné. Taky možná něco neříkám přesně ani výstižně.

Příklad triviální: include a konstanty

Jak se vkládá jeden soubor do druhého, vám knihy poradí ochotně. Ale proč to je dobré, to už přesahuje rámec technického popisu, takže smůla. Přitom začátečníka na jeho cestě velmi postrčí, když mu někdo řekne:

Pokud se ti na stránkách něco opakuje, je dobré to dát do samostatného souboru a pak už ten soubor jen vkládat, ušetříš tím dost práce a udržíš si přehled v kódu. Taky je dobré pro přehlednost dávat zvlášť vlastní definované funkce, snadno je pak využiješ v dalším projektu. Nebo parametry s pevnou hodnotou, jako třeba přihlašovací údaje k databázi, ty se můžou časem změnit, nebudeš pak muset prolézat všechny soubory a opravovat to jednotlivě.

Tohle profík dávno ví, ale profíci asi nejsou cílová skupina pro knihu, která probírá PHP od základu.

Když už tu máme ty přihlašovací údaje... Z knih se dovíte, že PHP v názvech proměnných a konstant rozlišuje velikost písmen. Ale jak se to dá využít? Že je dobré psát názvy konstant velkými písmeny a proměnné malými (což v kódu pomůže rychle rozlišit proměnné od konstant), to musíte odkoukat nebo vymyslet.

Příklad mírně pokročilý: do...while a chybové kódy

Když jsem o cyklu do...while četl poprvé, přišel mi zbytečný. Ale jen do doby, než jsem zíral, jak ho Jirka Kosek v klasické knize použil při získávání výstupu z databáze. (Pokud to neznáte, podívejte se na ukázky, třeba mysql.php.) Tuhletu elegantní fintu, kdy se z bloku při chybových stavech vyskakuje na jeho konec, aniž by si člověk zamořil kód desítkami ifů, se samozřejmě u popisu konstrukce do...while málokdy dozvíte.

Pojďme ale ještě dál, kde Jirka Kosek skončil. Když už si dal tu práci s praktickými příklady (což mi v mých začátečnických dobách moc a moc pomohlo), mohl připsat něco jako:

Lepší než okamžité vypsání chybové hlášky jako textu je přidat informaci o chybě (formou kódu chyby) například do některého předem vyhrazeného pole. To pole se dá vždy na konci bloku příkazů analyzovat a podle toho, zda a jaké chyby nastaly, se může zvolit další postup.

No a při generování chybových stavů si může začátečník zopakovat konstanty (protože je srozumitelnější v kódu psát CHYBA_DB_CONNECTION než třeba číslo 17).

V dalším dílu budu pokračovat v příkladech toho, jak pár řádků vysvětlujících slov může znamenat velký přínos pro čtenáře.

Vložit vlastní komentářNávrat k článkuRSS komentářů tohoto článku

Komentáře

[1] 31. 8. 2006, 09:35 – MK

To je úžasný, jak programátoři neustále vynalejzaj postupy již vynalezené. My obyčejní, co trpíme rutinní prací, která musí vypadat jako tvůrčí, prostě říkáme, že používáme šablony, nověji prefabrikáty. Mohl bych se přiznat, že mám třeba pro určitou svou tvorbu sestavená slovní spojení a jejich vhodnou kombinací lze vytvořit pokaždé zcela nové dílo, ale neudělám to. :-)))

[2] 31. 8. 2006, 10:01 – Mordae (Odkaz)

[1] Tos nemel ani naznacovat, co kdyz si to precte nektery z Tvych rozvasnenych ctenaru? :]

[0] Mas docela pravdu v tom, ze maloktera ucebnice programovaciho jazyka ukazuje mimo moznosti i spravne pouziti. Osobne bych dal K&R jako povinnou cetbu kazdemu zacinajicimu programatorovi bez vyjimky.

[3] 31. 8. 2006, 10:18 – Mordae (Odkaz)

[0] Ted jsem koukal na tu knihu na ZonerPressu a docela jsem se zdesil nad prekladem. Doufam, ze preklad knihy je lepsi nez preklad nazvu kapitol, ktery uvadi na tebou linkovane strance. Nedalo mi to, tak si musim rejpnout.

"MySQL: The Disruptive Database" == "MySQL: razantní databáze"
Doufam, ze mi ta prudka, razantni databaze neublizi, kdyz se preklapnu v dotazu. :]

"Advanced OOP Features" == "Pokročilé vlastnosti OOP"
A ja si vzdycky myslel, ze feature se preklada jako rys. Vlastnost znamena totiz neco uplne jineho, coz by mohli OOP znali lide vedet. :]

[4] 31. 8. 2006, 10:27 – MK

ad 2.1.: Myslíš že na článek o počítačích polezou mí rozvášnění čtenáři? A z čeho usuzuješ, že hovořím o produktech právě pro ty rovášněné čtenáře? :-)

[5] 31. 8. 2006, 10:34 – Mordae (Odkaz)

[4] Rekl bych, ze jak jednou zacnes se sablonami, uz se toho nezbavis. Alespon v programku. :] Nektere vzory mam uz zazrane hluboko v hlave a jak pisu, jen je ohybam podle potreb.

To, jestli to tady najdou je vec jina, ale kdo vi? Jsi jen o jeden Google vedle iFOLKu. ;]

[6] 31. 8. 2006, 10:37 – Honza Hučín (Odkaz)

Ad [3] Tu razanci jsem bral jako projev amerikofilie. Překladatel Velké knihy v ní zachoval všechna povinná slova typu "skvělý, nadšený, šťastný", tak měl pocit, že by měl přitlačit i tady.

S razantní databází pracuju radši na dálku a phpMyAdmin je asi dobrý diplomat, když se mi zatím nic nestalo :D

[7] 31. 8. 2006, 11:50 – Petr (Odkaz)

Všichni sice doporučují přejmenovávat si chyby v databazi na svoje vlastni, ale já spsi doporučuju nechat klasicka cisla a originalni hlasky. Lepe se v tom při lazeni orientuje. Je dobre je třeba maximalne doplnit... Pri lazeni na me vyskoci hlaska, chyba cislo atd a ja hned vim co hledat. Pokud bych si ale nadefinoval "Vyskytla se Vam chyba v databazi", moc bych toho nenasel ;)

[8] 31. 8. 2006, 11:50 – Martin

Že by náhrada zemřelého Dikobrazu PHP VRÁNY??? Jen tak dál! Ať se zasmějeme.

[9] 31. 8. 2006, 11:58 – Honza Hučín (Odkaz)

[8] Jestli myslíš cokoliv od Jakuba Vrány, tak to je příliš vysoká laťka (;

[10] 31. 8. 2006, 12:01 – Honza Hučín (Odkaz)

[7] Nemyslím hlášky pro účely ladění, ale pro front-end. Tam, myslím, hláška "nepodařilo se připojit k databázi" nebo "zadané údaje nejsou správné" už postačuje.

[11] 31. 8. 2006, 12:31 – Dundee (Odkaz)

Doporučuju knihu Pokročilé programování v PHP5 od George Schlossnagla (Zoner press). Tam je vše. Možná až moc...(např. tvorba vlastních rozšíření PHP a Zend Enginu, cachování php(apc), pokročilá optimalizace (apd), atd

[12] 31. 8. 2006, 13:03 – spacák

[2] co je to K&R?

[13] 31. 8. 2006, 13:42 – Mordae (Odkaz)

[12] Snad vubec prvni kniha o programovacim jazyce C. Kernighan & Ritchie - The C Programming Language. Krome syntaxe popisuje treba to, ze konstanty je dobre psat VELKYMI_PISMENY, promenne zase malymi. Kladou duraz na rozdelovani uloh do mensich funkci a vysvetluji zakladni algoritmy.

<flame>
Kdyby PHP zacatecnici psali alespon z poloviny tak, jako zacatecnici v C po precteni K&R, tak by bylo na svete hned veseleji. :]
</flame>

[14] 31. 8. 2006, 17:32 – llook (Odkaz)

[článek] Proto já pro učení se PHP doporučuju Manuál (ačkoli sám jsem se učil z Koska, jenže tehdy se ještě PHP3 používalo...).

[1] Programátoři taky používají prefabrikáty, ale říkají jim návrhové vzory (design patterns).

[12] [13] Druhé vydání (popisující ANSI C) vyšlo mimojiné v češtině, viz http://cm.bell-labs.com/cm/cs/cbook/
> Jinak pojem "K&R" se v současnosti používá spíše pro jejich kódovací konvenci: http://en.wikipedia.org/wiki/Indent_style#K.26R_style

[15] 31. 8. 2006, 22:10 – Honza Hučín (Odkaz)

[14] Díky za odkaz, to jsem netušil, že takové věci ve Wikipedii jsou. Závorkovací konvenci si vezmu do prádla asi taky.

K tomuto článku není možné vkládat komentáře.

© Honza Hučín 2004–6

Šuplík běží na PIPNI.CZ. Díky!

sber.cermat.cz

RSS Šuplíku

RSS komentářů – souhrnně

U každého článku je samostatný RSS kanál pro komentáře.

Výběr článků

Posledních 10 článků

nebo podle data:

nebo hledání fulltextem:

Archiv všech článků

Poslední komentáře

Zabili mě, parchanti [2]

8. 8. 16:48 | Pepa

Cestou kolem blogu [2]

7. 8. 21:26 | Honza Hučín

Cestou kolem blogu [1]

7. 8. 21:02 | Honza

Vrtulník nad hlavou [3]

6. 8. 14:29 | Pepa

Taková hra na volby [1]

3. 8. 18:29 | Honza

Nejčtenější

Žádné údaje nejsou k dispozici.

O mně

*1967, absolvent MFF UK v Praze (1991)

statistik, analytik, programátor, učitel, hudebník

nyní Ústav pro informace ve vzdělávání

Životopis (RTF)

Napište mi