Programátorské praktikum
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
01PROP | Z | 2 | 0+2 | česky |
- Přednášející:
- Petr Bauer (gar.)
- Cvičící:
- Petr Bauer (gar.)
- Předmět zajišťuje:
- katedra matematiky
- Anotace:
-
Cílem tohoto předmětu je osvojení si dobrých programovacích návyků, které mají
pomoci při psaní čistšího kódu, tj. takového, který bude lépe srozumitelný pro
ostatní a bude se snáze doplňovat o nové funkce. Na konkrétních příkladech se
studenti učí poznatkům od správného pojmenování proměnných a funkcí, přes
defenzivní programování, psaní dokumentace, ladění až po objektový návrh,
návrhové vzory a refaktoring.
- Požadavky:
-
Programování v C/C++, objektové programování.
- Osnova přednášek:
-
I. Základy psaní čistého kódu
1. Formátování
2. Datové struktury
3. Pojmenovávání proměnných
4. Pravidla pro psaní funkcí
5. Zpracování chyb, výjimky
6. Komentáře
II. Objektový návrh
1. Prostory jmen
2. Organizace třídy
3. Dědičnost a abstrakce
4. Speciální typy tříd
III. Vývoj kódu
1. Programovací konvence
2. Specifikace a návrh
3. Testování kódu
4. Refaktorování
5. Dokumentace
- Osnova cvičení:
-
Cvičení je nedílnou součástí výuky, jeho obsah je dán sylabem předmětu.
- Cíle studia:
-
Znalosti:
Zásady psaní čistého kódu, programovací konvence. Principy defenzivního programování, organizace kódu a postupy při jeho refaktorování, psaní dokumentace. Strukturování kódu, vytváření uzavřených funkčních celků a jejich testování. Základy objektového návrhu, organizace podporující změny. Vývoj kódu při zachování jeho čistoty a srozumitelnosti.
Schopnosti:
Student bude schopný psát přehlednější kód, který bude lépe pochopitelný pro ostatní vývojáře, bude více flexibilní z pohledu implementace nových funkcí, ale také v něm bude snažší hledat chyby.
- Studijní materiály:
-
Povinná literatura:
[1] R.C. Martin, Clean Code: A Handbook of Agile Software Craftmanship, Prentice Hall 2009
[2] S. McConnell, Code Complete, Second Edition, Microsoft Press, 2004
Doporučená literatura:
[3] M. Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2002
[4] A. Hunt, D. Thomas, Programátor pragmatik, Compter Press, 2007.
[5] M. C. Feathers, Údržba kódu převzatých programů, Computer Press, 2009.
Studijní pomůcky:
Počítačová učebna Windows/Linux s překladačem jazyka C++.
- Poznámka:
- Rozvrh na zimní semestr 2011/2012:
- Rozvrh není připraven
- Rozvrh na letní semestr 2011/2012:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů: