Java Clean Code: Jak psát čistý kód v Javě (JAV6)

Programování, Java, Spring

Tento kurz je určen zejména Java vývojářům, kteří již ovládají základy Javy a mají zkušenost s komerčním vývojem v týmu. Kurz vás naučí poznat špatně napsaný kód, vysvětlit, v čem je špatný. Naučíte se psát kód, který je čistý, efektivní a dlouhodobě udržovatelný. Vaše programátorské umění se tak posune na vyšší úroveň.

Lokalita, termín kurzu



Náplň kurzu:

Skrýt detaily
  • Clean Code
    1. Co je špatný kód a jaké má důsledky pro projekt
    2. The Boy Scout Rule, Javadoc @author
  • Smysluplné názvy
    1. Názvy odhalující záměr, vyslovitelné a vyhledatelné názvy
    2. Názvy tříd a metod, jak zabránit zmatení a nesrozumitelnosti
    3. Využití pojmů z cílové oblasti, pravidlo jedno slovo na jeden koncept
    4. Smysluplný a odůvodněný kontext
  • Funkce
    1. Malé funkce, jednoúčelové funkce, jedna úroveň abstrakce
    2. Parametry funkcí, funkce s jedním, dvěma a více parametry
    3. Vedlejší a nechtěné účinky funkcí
    4. Výjimky vs chybové kódy, správné použití příkazu switch
    5. Princip DRY, zamezení duplicity kódu
  • Komentáře
    1. Princip dokumentace formou psaní kódu
    2. Příklady dobrých komentářů
    3. Příklady špatných komentářů
  • Formátování kódu
    1. Smysl formátování a týmová pravidla
    2. Vertikální formátování
    3. Horizontální formátování
  • Ošetřování chybových stavů
    1. Využití výjimek, princip začít s try-catch-finally
    2. Unchecked výjimky, přidání kontextu pro volající stranu
    3. Princip nevracení a nepředávání hodnoty null
  • Hranice systému
    1. Použití kódu třetích stran, návrhový vzor adaptér
    2. Objevování hranic systému, učební testy, jak mít jasné hranice
  • Unit testy
    1. Tři zákony test driven development (TDD), BDD
    2. Čisté testy, princip jeden test na jeden koncept, refaktorování
    3. Využití frameworků JUnit, Mockito a AssertJ
  • Třídy
    1. Organizace třídy, psaní malých tříd, struktura připravená na změny
    2. Princip jedné odpovědnosti (SRP - Single Responsibility Principle)
    3. Objekty vs datové struktury, princip minimální znalosti (The Law of Demeter)
  • Systémy
    1. Oddělení konstrukce systému od jeho používání, oddělení zodpovědností
    2. Škálování, AOP, optimalizace rozhodovací logiky
    3. Návrh architektury systému řízený testy
  • Paralelní zpracování
    1. Kdy má v projektu smysl, výzvy spojené se souběžností
    2. Defenzivní programování u souběžnosti
    3. Důležitost znalosti zvolené technologie a použitých výpočetních modelů
    4. Pravidlo pro malé kritické sekce, problém s ukončovacími rutinami
    5. Testování více vláknového kódu
Předpokládané znalosti:
Účastníci musejí ovládat základní znalost jazyka Java. Doporučena je předchozí zkušenost z týmového komerčního projektu.
Doporučený předchozí kurz:
Java - úvod do programování (JAV1)
Časový rozvrh:
2 dny (9:00hod. - 17:00hod.)
Cena kurzu:
8 600,00 Kč (10 406,00 Kč včetně 21% DPH)