PředmětyPředměty(verze: 944)
Předmět, akademický rok 2023/2024
   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 2020
Semestr: letní
E-Kredity: 5
Rozsah, examinace: letní s.:2/2, KZ [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Další informace: https://d3s.mff.cuni.cz/teaching/nprg043
Garant: doc. Ing. Lubomír Bulej, Ph.D.
Třída: Informatika Mgr. - Softwarové systémy
Kategorizace předmětu: Informatika > Programování
Neslučitelnost : NPRX043
Záměnnost : NPRX043
Je neslučitelnost pro: NPRX043
Je záměnnost pro: NPRX043
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.
Podmínky zakončení předmětu -
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.

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.

Požadavky ke zkoušce -
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ů.

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