Charles Explorer logo
🇨🇿

Doporučené postupy v programování

Předmět na Matematicko-fyzikální fakulta |
NPRG043

Sylabus

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.

Anotace

Programování není pouze o schopnosti napsat fungující program. S kvalitou programu je (vedle návrhu a celé řady funkčních charakteristik) spojena celá řada charakteristik, které s funkcí programu přímo nesouvisí. Náplní předmětu je seznámit studenty s praktickými postupy a pravidly, jejichž důsledné dodržování a aplikace vedou ke kvalitnějším programům. Cílem předmětu je motivovat studenty k osvojení a používání probíraných postupů v praxi.

Předpokládají se znalosti programování v rozsahu bakalářského kursu NPRG031 Programování II.