Za dokonalejším kódem

V letošním letním semestru jsem si kromě role studenta vyzkoušel i roli učitelskou a na matfyzu jsem vyučoval seminář Dokonalý kód - Umění programování a techniky tvorby software (shoda názvu s jednou vědomostmi nabitou ale obtížně čitelnou knížkou není náhodná). Byla to velice zajímavá zkušenost, jejímž výsledkem jsou mimo jiné tři věci:

  1. Obdiv ke každému, kdo dobře učí, ať je to na vysoké, střední nebo základní škole. Dokud si to člověk nevyzkouší, nemá představu, kolik práce se za každou odučenou minutou skrývá.
  2. Zjištění, že opravování domácích úkolů mě opravdu, ale opravdu nebaví. Snad proto mi tak trvá.
  3. Slajdy.

Tento zápisek píšu kvůli upozornění na poslední bod – myslím, že se mi podařilo vytvořit poměrně ucelený materiál o programátorských postupech zlepšujících kvalitu kódu, se spoustou poznámek a odkazů na další texty. Bylo by škoda, kdyby o jeho existenci vědělo jen pár desítek studentů informatiky na MFF UK.

Slajdy jsou ve formátu HTML a dají se prohlížet jako text nebo jako prezentace (klikněte na odkaz "Spustit jako prezentaci" v pravém horním rohu). V textové podobě slajdy obsahují spousty poznámek, které se v prezentaci nezobrazují.

Textová podoba funguje ve Firefoxu, Opeře a Safari rozumně aktuálních verzí, prezentace běhá jen v prvních dvou jmenovaných prohlížečích. Pokud se vám zdá, že jeden důležitý prohlížeč tu chybí, máte pravdu :-) Bohužel Internet Explorer nepodporuje data: URL (RFC 2397), což je nezbytné k tomu, aby šly slajdy stáhnout jako jeden soubor, a to pro mě při přípravě slajdů byla důležitější vlastnost oproti podpoře prohlížeče, který na matfyzu prakticky nikdo nepoužívá. (9 z 10 matfyzáků doporučuje Firefox!)

A ještě malá poznámka na závěr: Je možné, že některých zajímavých tématech ze semináře se ve svém zápisníku někdy rozepíšu, ale slibovat raději nic nechci.

Jun 7, 2007 – 13:26

Comments

Meap
Četl jsem tu knihu ve dvou vydáních :-) A je to opravdu velmi dobře napsaná kniha plná dobrých doporučení. Stejně tak Vaše prezentace už jen podle slajdů musela být asi skvělá.
gp
gp
Na tu knihu jsem docela čekal ale když jsem ji prolistoval tak jsem zjistil že je zastaralá, hodně rad je triviálních nebo jinak neužitečných. Recenze jsou především negativní. Mýlím se ?
David Majda
[1] Jestli byly semináře vyloženě "skvělé" nevím, ale soudě dle ankety, kterou jsem si dělal na poslední hodině, převažovaly u studentů rozhodně spíš pozitivní dojmy.

[2] Je pravda, že leckteré poučky v Code Complete jsou triviální, kniha je dost suše napsaná a obsahuje poměrně hodně redundancí. Na druhou stranu je v ní naakumulována spousta moudra a věcí, co se jinde člověk nedočte. Zastaralá mi kniha v ničem nepřišla.

Moje celkové hodnocení je jednoznačně pozitivní a osobně bych Code complete zařadil mezi povinnou četbu všech programátorů. Ze mě tahle knížka rozhodně udělala lepšího programátora, než jsem byl před jejím přečtením.
ivan_d
ivan_d
Ano DOBŘE odučit hodinu představuje hodně úsilí předem :)

Code Completion mě trochu zklamala: Je tam nashromážděno hodně informací, ale příjde mi to malinko povrchní (možná jsem jen trochu zabedněnější). Mnohem víc mě naučil třeba Fowlerův Refaktoring (nejen o refaktoringu, třeba o některých vzorech jsem se naučil spoustu věcí, které mi nedocházely u Gammy. Taky do code smells stále občas nahlížím) a Beckův Vývoj řízený testy (opět nemám na mysli jen TDD, ale celkový přístup a styl autora a jeho kódu - neprasí, ale ani se nesnaží o dokonalost (kopírování kódu povoleno, ale pak se to musí dát do pořádku)).

Letmý pohled na slajdy:
Příklad: Vytiskni setříděný seznam krásně ukazuje, že co je v jednom jazyku příběh, může být v jiném gesto :). V této alegorii jsou pak frameworky základní literaturou a jejich uživatelé sečtělými čtenáři. Java sází na bohatou literaturu, kdy svoje myšlenky opíráme o zvolený román. Zasvěcený čtenář pak pochopí :)
jr
jr
Dobrý den, pokud by vám to nezabralo moc času, zajímalo by mně co je Příklad s autem, ve slajdu je to jenom položka bez dalšího vysvětlení, dík
Lubos Kulic
Lubos Kulic
>9 z 10 matfyzáků doporučuje Firefox!

Skoro bych se vsadil, ze to neni pravda:)
Ta poznamka by mela znit takhle:
"9,9 z 10 matfyzaku nedoporucuje IE!"
David Majda
[7] OK, OK, občas nějaká zbloudilá duše používá i něco jiného než Firefox nebo IE :)

(Abych nebyl náhodou zle pochopen: Předchozí věta je samozřejmě nadsázka a krom Firefoxu existují minimálně dva prohlížeče, o kterých si myslím, že jsou velmi kvalitní, a v rukou uživatelů je vidím miliónkrát raději, než IE.)

[8] Protože jsem ještě sám student, mám za to jen stipendium, což je vzhledem ke strávenému času pár drobných.

Dostal jsem se k tomu tak, že jsem trochu kritizoval chybějící výuku tohoto typu na MFF a bylo mi odpovězeno "A nechcete to učit sám?" :)

Add comment

It is not possible to add comments to posts older than one month.