Java Clean Code (JAV6)

Programming, Java, Spring

Location, current term course



Brno
10/29/2020 - 10/30/2020
Order
1/21/2021 - 1/22/2021
Order
Praha
10/29/2020 - 10/30/2020
Order
11/5/2020 - 11/6/2020
Order
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:
314.29 € ( 380.29 € incl. 21% VAT)

Vybrané zákaznické reference

Quadient 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é"