PředmětyPředměty(verze: 806)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Doporučené postupy v programování - NPRG043
Anglický název: Recommended Programming Practices
Zajišťuje: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2014
Semestr: letní
E-Kredity: 6
Rozsah, examinace: letní s.:2/2 Z+Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Další informace: http://d3s.mff.cuni.cz/teaching/programming_practices
Garant: Ing. Lubomír Bulej, Ph.D.
Třída: Informatika Mgr. - Softwarové systémy
Kategorizace předmětu: Informatika > Programování
Anotace -
Poslední úprava: G_I (16.03.2011)

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.
Literatura
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.

Sylabus -
Poslední úprava: T_KSI (11.05.2007)

Základy vývoje a tvorby software. Inherentní a zavlečená složitost. Příprava a klíčová rozhodnutí.

Proměnné a konstanty. Obecná pravidla pro práci s proměnnými. Názvové konvence. Základní datové typy. Neobvyklé datové typy. Vytváření nových typů.

Řídící struktury a primitiva. Organizace kódu. Podmíněné příkazy. Smyčky. Obecná pravidla pro práci s řídícími strukturami. Neobvyklé řídící struktury. Metody řízené tabulkami.

Tvorba kvalitního kódu. Návrh metod. Pseudokód. Lokalita a duplicita kódu. Práce s výjimkami. Defenzivní programování. Návrh tříd. Dědičnost a kompozice. Vazby mezi třídami. Modularizace a abstrakce. Návrh rozhraní.

Programátorské umění. Styl a uspořádání kódu. Dokumentace kódu a způsoby komentování. Osobnostní kvality.

Zdokonalování kódu. Testování. Ladění. Refaktorizace. Kolaborativní techniky tvorby software. Ladění výkonu.

Proces tvorby software. Vztah mezi velikostí programu a způsobem tvorby. Plánování a řízení vývoje. Udržovatelnost software. Programovací nástroje.

 
Univerzita Karlova | Informační systém UK