FI:PB176 Základy kvality a správy kódu - Informace o předmětu
PB176 Základy kvality a správy kódu
Fakulta informatikyjaro 2025
- Rozsah
- 2/0/1. 3 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně - Vyučující
- RNDr. Lukáš Ručka (přednášející)
Branislav Bubán (pomocník)
doc. RNDr. Eva Hladká, Ph.D. (pomocník)
Jozef Hoschek (pomocník)
Ivan Kushpel (pomocník)
Tomáš Nevrlka (pomocník)
Bc. Michal Šoltis (pomocník)
Jakub Wolek (pomocník)
Stepan Yakimovich (pomocník) - Garance
- RNDr. Lukáš Ručka
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- PB006 Principy progr. jazyků a OOP || PB071 Principy nízkoúr. prog. || NOW( PB071 Principy nízkoúr. prog. )
U studentů se předpokládá předchozí zkušenost s programováním, nejméně na úrovni absolvování či uznání předmětu IB111. Dále je předpokládána základní znalost práce s příkazovou řádkou a systémy UNIXového typu na uživatelské úrovni, odpovídající souběžnému zapsání předmětu PV004. Dále se předpokládá souběžný zápis s některým z kurzů programovacích jazyků, odpovídající doporučenému průchodu studiem mateřského oboru. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 7 mateřských oborů, zobrazit
- Cíle předmětu
- Cílem tohoto předmětu je naučit studenty verzovat kód s důrazem na vhodné užívání (tedy zejména drobné izolované změny, konzistentní používání historie), seznámit s výhodami a principy build systémů, průběžnou integrací a distribucí. Vtisknout důležitost konzistence a vhodného stylu psaní kódu, roli vhodných jmen. Vštěpit nutnost testování jako klíčového prvku kontroly kvality kódu, ve spojení s chybovými hlášeními.
- Výstupy z učení
- Po absolvování tohoto kurzu bude student: • Ovládat práci s verzovacím systémem GIT, včetně zásad vhodného užívání. • Zvládat základy a práci s build systémy větších projektů, včetně technologií CI. • Umět podat (kvalifikované) hlášení o chybě v software, včetně podrobné specifikace problému. • Navrhovat testy a testovací sady pro ověření fungování implementace.
- Osnova
- Verzovací systém GIT, koncepty commitů, větví, merge. Princip decentralizovaných repozitářů. • Build systémy, různost (a různorodost) platformem. • Testování, unit testy, reportování chyb, integrační testování a princip a praxe CI. • Kultura a styl kódu, dokumentace. • Distribuce software, kontejnerizace.
- Literatura
- Linux kernel coding style — The Linux Kernel documentation, 2016, The kernel development community. [online] https://www.kernel.org/doc/html/latest/process/coding-style.html
- FEATHERS, Michael C. Working effectively with legacy code. Upper Saddle River, NJ: Prentice Hall, 2005. ISBN 0-13-117705-2. info
- Výukové metody
- Výuka probíhá formou teoretických přednášek, doplněných o semiautomatizované elearningové laboratoře. V závěru semestru pak zvané přednášky pokrývající příklady zajišťování kvality ve firemní praxi.
- Metody hodnocení
- Pro připuštění ke kolokviu musí student splnit alespoň 75% elearningových laboratorních bloků, odrážejících jednotlivá témata. Ve 2/3 semestru je pak umístěna práce na týmovém projektu, organizován formou celonoční hry s cílem navodit stresující situaci před deadline velkého projektu, které se student musí zúčastnit a přispět k fungování týmu v souladu s pravidly hry. Tato zkušenost je závěrem reflektována při kolokviu.
- Informace učitele
- Smyslem tohoto předmětu je získat přehled a povědomí o tom, jaké jsou (rámcové) možnosti jednotlivých oblastí, ale také konkrétní dovednosti při práci s ilustrovanými technologiemi. Cílem nicméně není pokrýt veškeré technologie a techniky, kterých je v uvedených oblastech nepřeberně, nýbrž dát základ pro další studium. Krom zmíněného gitu můžete očekávat i práci s fakultním gitlabem a dockerem.
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2025/PB176