Java Clean Code (JAV6)

Programming, Java, Spring

Location, current course term

Contact us

Vlastní Školení na míru (termín, lokalita, obsah, délka)

The course:

Hide detail
  • 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
Recommended previous course:
Java - Beginning Application Development (JAV1)
Schedule:
2 days (9:00 AM - 5:00 PM )
Course price:
384.00 € ( 464.64 € incl. 21% VAT)
Language:

Vybrané zákaznické reference

O2 IT Services s.r.o., Jiří K.
Java Clean Code ( JAV6)
"Za mě naprosto spokojenost jak s probranou látkou, tak s výkladem jako takovým. Cvičení byly dostatečně dovysvětleny a byla to i dle mého názoru dostatečná výzva aby se člověk zdokonalil v tématice. Děkuji :)"
O2 IT Services s.r.o., Lukáš S.
Java Clean Code ( JAV6)
"Celkovy dojem super, lektor ochotny, zkuseny; temata, priklady i vyklad zamerene na praxi"
Quadient Technologies Czech s.r.o., Zdeněk M.
Java Clean Code ( JAV6)
"Nachystaný projekt byl super, všechno dobře vysvětleno, příklady byly lehce pochopitelné"