|
|
|
||
Poslední úprava: G_I (16.03.2011)
|
|
||
Poslední úprava: doc. Ing. Lubomír Bulej, Ph.D. (06.10.2017)
Zápočet je podmíněn účastí na cvičeních a vypracováním úkolů ve stanovených termínech. |
|
||
Poslední úprava: T_KSI (04.05.2007)
1. McConnell, S.: Code Complete. Microsoft Press, 2nd edition, ISBN 978-0735619678, June 2004. 2. On-line zdroje ve formě článků a esejí k probíranému tématu. |
|
||
Poslední úprava: doc. Ing. Lubomír Bulej, Ph.D. (06.10.2017)
Předmět nemá zkoušku v klasické podobě. Výsledná známka z předmětu je odvozena z bodového hodnocení úkolů. |
|
||
Poslední úprava: doc. Ing. Lubomír Bulej, Ph.D. (16.01.2024)
Proces vývoje a tvorby software, inherentní a zavlečená složitost.
Návrh rozhraní (API), obecné principy, návrh veřejných tříd a metod rozhraní.
Návrh tříd, abstrakce a zapouzdření, dědičnost vs. kompozice, polymorfizmus, immutability.
Základní principy objektového návrhu (Single responsibility principle, Open-closed principle, Liskov substitution principle, Interface segregation principle, Dependency inversion principle).
Jednotkové testování, testovatelný design.
Principy objektového návrhu v návrhových vzorech (strategy, observer, decorator, factory).
Návrh metod, metody jako abstrakce, název a účel metody, délka a soudržnost kódu, práce s parametry a vracení hodnot, používání výjimek.
Defenzivní programování, kontrola vstupů a použití assertů, obsluha chyb.
Obecná pravidla pro práci s proměnnými a konstantami, názvové konvence, základní datové typy.
Obecná pravidla pro práci s řídícími strukturami a primitivy, organizace kódu, refaktoring. |