Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
-
5. září 2024
Matrixmedia - Obsluha a tisk na velkoformátových digitálních tiskárnách
-
30. září 2024
-
4. října 2024
Software
Knižní tip: Steve McConnell - Dokonalý kód
4. prosince 2006, 00.00 | V dnešní recenzi se podíváme na publikaci, která na stránky Grafiky zdánlivě nepatří.
Pokud se zabýváte webdesignem na úrovni psaní JavaScriptů nebo třeba skriptujete publikační
aplikace, neměli byste knihu
Dokonalý kód rozhodně přehlédnout. S její pomocí lze totiž zlepšit i ten nejkratší
program a hlavně, naučí vás o tvorbě softwaru přemýšlet v nejširším záběru i
nejjemnějších detailech.
Ať již chceme nebo ne, programování tak trochu patří i do světa dnešního publikačního průmyslu. Nesporně je to vidět zejména v oblasti webdesignu, kde se bez interaktivity přidané s pomocí JavaScript obejde málokterá webová prezentace a kde dokonce vývoj směřuje (v koncepcích jako je AJAX) k pojetí webové prezentace coby softwarové aplikace. Najdeme ale i jiné příklady. Velmi významné je takto skriptování publikačních aplikací, které nabízí neobyčejný potenciál při automatizaci a také doplňování funkcí, které ten či onen produkt postrádá, velmi zajímavá je možnost provázat takto mezi sebou vícero aplikací či využít při jejich nasazení služeb operačního systému. Specifickou novou třídou služeb, které propojují svět Webu a polygrafie právě pomocí programování pak jsou služby Web-to-Print, tj. služby pro online zadávání tiskových zakázek. A konečně lze zmínit také třeba programování logiky PDF formulářů či interaktivních PDF dokumentů jako takových.
Programování naznačeného typu má řadu specifik. Především se obvykle nejedná o tvorbu rozsáhlého softwaru v týmech, kde by se k psaní kódu používaly jazyky jako je třeba C++. Namísto toho spočívá programátorská práce spíše v psaní krátkých programů - skriptů - v prostředcích, jako je již zmíněný JavaScript a nebo též Visual Basic či AppleScript. Takovýto kód píšou obvykle jednotlivci, jejichž programátorské vzdělání může být často jen velmi povrchní a obvykle začíná i končí u nastudování základů příslušného programovacího prostředku.
Mnohdy tyto dovednosti dostačují, ale v porozumění věci zde jsou samozřejmě značné rezervy. Pro ty, kdo by rádi svůj informační deficit v dané oblasti napravili a naučili se psát nejen jakýkoli spustitelný, ale i kvalitní software, je zde kniha amerického autora Steve McConnella "Dokonalý kód. Umění programování a techniky tvorby softwaru" (originál "Code Complete. Second Edition" vydala Microsoft Corporation v roce 2005) vydaná na začátku roku 2006 nakladatelstvím Computer Press. Pojďme se nyní na toto nevšední, podnětné, rozsahem i obsahem neobyčejně rozsáhlé dílo podívat podrobněji a to zejména z hlediska nároků naznačené čtenářské skupiny.
Základní přiblížení
Steve McConnell je zkušeným programátorem, ředitelem a vedoucím softwarovým inženýrem společnosti Construx Software, ve které se věnuje nejen programování a řízení vývojářských projektů, ale též psaní odborných článků a knih o programování. Jeho "Complete Code" se od doby prvního vydání v roce 1993 stala doslova biblí programátorů z celého světa. Úspěch dané knihy je přitom poměrně pochopitelný: kniha se totiž velmi srozumitelným a čtivým stylem, jež přitom nezakrývá hlubokou erudici autora v dané oblasti, zabývá elegantně nejzásadnějšími problémy, na které lze narazit při tvorbě softwaru bez ohledu na platformu a i rozsah projektu. V knize tedy nalezneme jakýsi "pohled shůry" na celý komplikovaný proces výroby software, který naučí čtenáře uvažovat v souvislostech, jež při uvíznutí v technických detailech zkrátka nejsou možné, hodně pozornosti je pak nicméně věnováno i vylepšování právě těch nejzákladnějších technik.
K obsahu
Kniha má úctyhodných 894 stran formátu 167 x 225 mm, a to převážně čistého textu, doplněného výpisy ukázkového kódu a občasným názorným schématem či tabulkou. Kód je v knize uváděn v jazycích Java, C++ a Visual Basic: je zde vidět snaha oprostit se od paradigmatu daného jediným programovým prostředkem, na druhou stranu budou muset právě ti, kdo zatím umí třeba jen JavaScript trochu rozšířit své znalosti - ale ukázky nejsou dlouhé a troufáme si říci, že jim lze rozumět i bez hlubší znalosti daného jazyka. Kniha je plná odkazů na relevantní informační zdroje (knihy, časopisecké články), které rozšiřují základní výklad. Pochválit je třeba přehledná shrnutí informací podaných v té či které kapitole, mající formu kontrolních seznamů a výčtů bodů k zapamatování. Překlad Bogdana Kiszky se čte velmi dobře, ale občas jsme se nemohli ubránit dojmu, že některé autorovy obraty a metafory nebyly podány úplně přesně tak, jak je tento zamýšlel: bez možnosti porovnání s originálem se nicméně jedná skutečně jen o neověřený dojem.
Výklad je v knize veden tak, aby odpovídal obvyklým fázím tvorby softwaru. Začíná tedy u úvah nad tím, co vlastně výroba software je, a pak se zabývá procesem příprav, vyjasňování požadavků a návrhu, pokračuje postupy při psaní kódu na úrovni tříd, rutin a jednotlivých základních programových konstruktů (proměnné, datové typy, cykly, podmínky aj.) a končí záležitostmi jako jsou testování, ladění, restrukturalizace kódu či vylepšování výkonu. Závěrečné části se pak ještě zabývají širšími úvahami ohledně správy softwarových projektů, použití programovacích nástrojů, rozvržením a dokumentováním kódu, povahovými vlastnostmi dobrého programátora (sic!) či motivy softwarových dovedností, k dispozici je i přehledová kapitola o další literatuře a skutečně rozsáhlá biografie.
Podle autora lze jednotlivé kapitoly nebo přinejmenším části knihy číst nezávisle na sobě. Domníváme se ovšem, že něco takového platí zejména v případě částí zabývajících se technickými detaily (třeba výklad o komentování kódu, použití proměnných, podmínek a cyklů apod.), ne však v případě části věnovaných například práci na projektech. Zřejmě nejlepší postup, jak získat v knize co nejlepší orientaci, je pokusit se ji nejprve přečíst alespoň zběžně celou a teprve pak se vracet podrobněji k částem, jež čtenáře výrazněji zajímají.
K využití v publikačním sektoru
Z toho, co jsme o obsahu knihy řekli výše, může leckdo - a to možná částečně oprávněně - nabýt dojmu, že studovat "Dokonalý kód" kvůli vylepšení skriptů, jež nikdy nebudou mít víc jak několik desítek řádek, je ono pověstné "jít s kanónem na vrabce". Daný dojem nicméně platí spíše jen tam, kde se McConnell zabývá záležitostmi spojenými s návrhem velkých programových celků, řízením projektů, zevrubným testováním objemných programů apod. Ovšem vedle toho obsahuje kniha stovky stran výkladu, které prostě musí ocenit každý, kdo programuje pravidelně, bez ohledu na to, že jde třeba o jedince, jež píše krátké skripty.
Pozornost takto zaslouží veškerý výklad spojený s psaním kódu na základní úrovni. Způsoby jak správně pojmenovávat a deklarovat proměnné, strukturovat zápis kódu, psát bezproblémové a srozumitelné podmínky či cykly, používat efektivně komentáře (včetně vysoce zajímavé a efektivní metody programování v pseudokódu, jež z použití komentářů vychází) nebo rozvrhovat kód na úrovni rutin (použití funkcí apod.): všechna tato i další témata jsou podána způsobem, který opravdu vylepší a zpřehlední jakýkoli kód. Perfektně zužitkovatelné jsou dále postřehy, týkající se celkového procesu tvorby softwaru (zejména upřednostňování návrhu před bezhlavým psaním kódu vede k vysoce užitečnému návyku), psychologie programátora či způsobů, jak v programech hledat chyby. Každopádně je ale třeba upozornit na to, že tam, kde se autorův výklad dotýká objektově orientovaného programování, bude si muset čtenář dostudovat příslušné pojmy do hloubky sám s pomocí zdrojů, jako je například Wikipedia (tamtéž lze také nastudovat základy syntaxe jazyků použitých v příkladech).
Závěrem
Tvrzení, že "Dokonalý kód" je knihou pro každého programátora, bez ohledu na to, zda je to zkušený profesionál či totální samouk, je dle našeho názoru pravdivé. Stačí "jen", aby daná osoba programovala často a hlavně považovala tvorbu softwaru spíše za umění, kterému se chce naučit mimo jiné kvůli jeho hloubce a eleganci, nežli otrockou dřinu, provozovanou pro obživu. Cena knihy 990 Kč (1 480 Sk) není opravdu nejnižší, ale pokud se čtenář k investici rozhodne, získá rozhodně neocenitelný zdroj informací a hlavně podnětů, které dokáží výrazně zlepšit jeho programátorské dovednosti, přičemž k potřebným pasážím knihy se lze opakovaně vracet po celá léta.
Tématické zařazení:
-
14. května 2014
Jak vkládat snímky do galerií a soutěží? Stručný obrazový průvodce
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
12. června 2012
-
9. dubna 2014
-
29. listopadu 2013
-
6. září 2004
OKI snižuje ceny barevných laserových tiskáren C3100 a C5200n
-
13. května 2004
-
19. ledna 2004
QuarkXPress Passport 6: předvedení nové verze na konferenci Apple Forum 27.1.2004
-
6. února 2001
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
5. srpna 2024
Bubnový scanner na 4000dpi optické rozlišení + PC + software
-
8. září 2024
-
14. října 2024
-
5. listopadu 2024