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 2023
- Rozsah
- 2/0/1. 3 kr. (plus ukončení). Ukončení: k.
- Vyučující
- RNDr. Lukáš Ručka (přednášející)
doc. RNDr. Eva Hladká, Ph.D. (pomocník)
Bc. Ondřej Hrdlička (pomocník)
Bc. Martin Janů (pomocník)
Mgr. Martin Piatka (pomocník)
Dominik Seďa (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 - Rozvrh
- St 15. 2. až St 10. 5. St 8:00–9:50 D3
- 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
- Informatika (program FI, B-INF) (3)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Kyberbezpečnost (program FI, B-CS)
- Programování a vývoj aplikací (program FI, B-PVA)
- 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
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (jaro 2023, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2023/PB176