Literatura o programování jako takovém

Na této stránce najdete informace o knihách, které hovoří o tvorbě softwaru z obecnějšího hlediska -- nezabývají se konkrétním programovacím jazykem, technologií nebo algoritmy.


  1. Brian W. Kernighan, Rob Pike: The Practice of Programming. Addison-Wesley 1999. ISBN 0-201-61586-X. 270 stran, cena 25 $.
    Skvělé čtení. Zabývá se programátorským stylem (od jmen proměnných přes úpravu zdrojového textu po komentáře), datovýni strukturami, návrhem a implementací, rozhraními, laděním, testováním, efektivitou, přenositelností a dalšími věcmi. Výklad je podepřen řadou příkladů dobrého i špatného kódu v C, C++ a Javě a oobčas také i v Perlu a Awku. Knihu napsali lidé, které lze považovat za staré praktiky, nicméně jedno z jejích poselství je, že praktik se nesmí vyhýbat teoretickým znalostem, chce-li být úspěšný.

  2. Steve McConnell: Code Complete. Microsoft Press 1993. ISBN 1-55615-484-4. 856 stran. Druhé vydání Microsoft Press 2004, ISBN 0-7356-1967-0. 915 stran, cena 49.99 $.
    Kniha věnovaná tvorbě softwaru. Zabývá se návrhem, prací s daty, organizací zdrojového kódu, vylepšováním kvality hotového kódu atd. Pokrývá řadu oblestí, od nejnižší úrovně -- psaní zdrojového kódu -- po řízení projektu, a to jak z hlediska programátora tak i z hlediska jeho šéfa. Autor vychází ze svých zkušeností u firmy Microsoft a snaží se pokrýt mezeru mezi průměrnou a správnou praxí tvorby softwaru. Vedle teoretických rad tu najdme např. také seznamy kontrolních otázek, které by si měl programátor položit, aby se přesvědčil, že si vyjasnil všechny požadavky nebo že neopomněl nic důležitého n vávrhu architektury svého programu.
    Druhé vydání je aktualizované pro současnou dobu, tj. hovoří také o objektově orientovaném programování, o agilních technikách, jako je extrémní programování, o návrhových vzorech atd. Skvělé čtení.[2005]

  3. Martin Fowler: Refaktoring -- Zlepšení existujícího kódu. Grada Publishing, Praha 2003. ISBN 80-247-0299-1. 394 stran.
    Refaktorování je restrukturalizace fungujícího zdrojového kódu, aby byl snáze čitelný, upravovatelný a opravovatelný -- a aby pokud možno využíval známé návrhové vzory. Kniha M. Fowlera (v originále vydaná 2003) patří ke klasice v tomto oboru. Na příkladu jednoduchého programu ukazuje běžné refaktorovací techniky; pak následuje podrobný popis základních technik refaktorování. Knihu lze jen doporučit.

  4. Kent Beck: Extrémní programování. Grada Publishing, Praha 2002. ISBN 80-247-0300-9. 158 stran.
    Extrémní programování je jednou z tzv. agilních technik vývoje softwaru. Kniha K. Becka, v originále vydaná r. 2000, tuto techniku popisuja a ukazuje její výhody -- rychlejší vývoj, snadnější zvládání změn apod. Znalost těcht technik dnes začíná patřit k běžným požadavkům.

  5. Jim Keagh, Mario Giannini: OOP Demystified. A self-teaching Guide. Obsborne Mc Graw Hill 2004. ISBN 0-07-225363-0. 250 stran. Cena 29,95 $.
    (Česky: OOP Objektově orientované programování bez předchozích znalostí - Průvodce pro samouky. Computer Press 2006. ISBN 80-251-0973-9. Cena 227 Kč.)
    Kniha začíná výkladem pojmu třída, pak se přes zapouzdření a polymorfizmus dostane k dědění a abstrakci jako takové. Nakonec přejde ke spolupráci objektů a k rozhraním. V poslední části najdeme výklad o nástrojích OOP v Javě, C+ a C#. Výklad doprovázejí příklady, převážně v C++, a diagramy v UML.
    Hm. Tak tak takhle nějak jsem chápal -- a vykládal -- OOP na počátku devadesátých let. Dědění je hezký a mocný nástroj, ale v principu porušuje zapouzdření (takže může vést k nepříjemným problémům) měl by se používat jen tam, kde je opravdu vhodný; daleko častěji se uplatňuje skládání a jiné způsoby spolupráce objektů. Polymorfizmu se dnes dosahuje především pomocí rozhraní -- ostatně stačí se podívat na knihovny Javy nebo C#.
    Tuto knihu nemohu s klidným svědomím doporučit. Ostatně jeden z mých kolegů se vyjádřil, že ji lze výborně použít při zkoušení va VŠ: Stačí ji otevřít na kterékoli straně a zeptat se, co je tam špatně. [srpen 2006]

  6. Andrew Hunt, David Thomas: The Pragmatic Programmer: From Journeymann to Master. Addison-Wesley 2000. ISBN 0-201-61622-X. 320 stran. Cena 42,99 $.
    (Česky: Programátor pragmatik - jak se stát lepším programátorem a vytvářet kvalitní software. Computer Press 2007. ISBN 978-80-251-1660-9. Cena 369 Kč/549 Sk.)
    V téhle knize najdeme povídání o tom, jak by měl programátor uvažovat -- čeho by se měl vyvarovat, an co by si měl dát pozor apod. Hodně pozornosti věnují autoři například vývoji projektu v čase, zdánlivě nepatrným změnám, které se mohou postupně nahromadit a vnést do projektu chaos. Najdeme tu ale i výklad o testování, o správě zdrojového kódu, o tom, jak vlastně zjistit, co klient chce a co mu bude vyhovovat. Jedním z velkých hříchů programátorů je, že se opakují -- že programují jednu věc v jednom projektu několikrát. Jiným problémem je vytvoření opravdu čistého, snadno srozumitelného a snadno udržovatelného kódu. I když jde zdánlivě o mnoho různých témat, stačilo na to autorům necelých 300 stran, a to i s cvičeními. V dodatcích pak najdete mj. výsledky cvičení a tipy, kde hledat další informace.
    Je to zajímavá a užitečná kniha. Napsali ji praktici a ukazují, jak zmíněné (a mnohé další) problémy prakticky zvládnout. Měl by si ji přečíst každý, kdo se chce softwerařině opravdu věnovat. [říjen 2007]

  7. Michael C. Feathers: Working Effectively with Legacy Code. Prentice Hall 2005. ISBN 978-0-13-117705-5. 434 stran. Cena 56,96 $.
    Jak egfektivně pracovat se zděděným kódem? S kódem, který jsme nenapsali, který není podepřen sadou vyčerpávajících jednotkových testů, který je propletený jako špagety a který náme změnit, opravit nebo upravit a rozšířit? Odpověď, kterou autor nabízí, je vlastně jednoduchá: Vypracovat testy, rozbít závislosti, refaktorovat... Jak to ale podrobně dělat, na jaké problémy přitom můžete narazit a jak je řešit, o tom všem je tahle kniha.
    Je to zajímavá a užitečná kniha. Ocení ji každý, koho práce zděděným kódem potká. [říjen 2008]

  8. Robert C. Martin (ed): Clean Code. A Handbook of Agile Software Craftmanship. Prentice Hall 2009. ISBN 978-0-13-235088-4. 430 stran. Cena 42,96 $.
    Jak psát kód, aby byl čistý, přehledný, snadno udržovatelný? Na to se pokouší odpovědět právě tato kniha. Autoři začínají u smysluplných jmen, přes rozumnou vnitřní strukturu funkcí, komentáře, formátování zdrojového textu, až po jednotkové texty,organizaci tříd, práci s programem jako se systémem, paralelní konstrukce atd. Zdánlivě zezvýznamná témata se ukazují jako téměř stejně důležitá jako témata na první pohled velká.
    Výklad uvádějí a doprovázejí příklady v Javě. Čtenář ne jeustále konfrontován s mizerným kódem na jedné straně a s jeho úpravou na čistý kód na druhé straně. Je to zajímavá a užitečná kniha, kterou by měl znát každý programátor. [květem 2009]


Moje domovská stránka    Přednášky a semináře    Ostatní literatura