SOLID principy

Během kurzu se zapojíte do praktických úkolů spojených s malým projektem, kde vynikne běžný problém softwarových produktů – nevhodná struktura, která komplikuje další vývoj.

Získáte potřebnou teoretickou základnu pro pochopení principů, jejichž aplikace umožňuje odstranění překážek v dalším vývoji software. Současně pochopíte, jak SOLID principy přispívají k testovatelnosti software, což je klíčové pro eliminaci jeho rigidnosti a umožňuje bezpečné úpravy kódové struktury.

Po dokončení kurzu budete schopni identifikovat problematické oblasti v kódu z hlediska udržitelnosti a efektivně se s nimi vypořádat pomocí aplikace příslušných principů.

Pro vývojáře i QA

Kurz je ideální jak pro vývojáře, tak pro odborníky v automatizovaném testování. Zdůrazňuje synergii mezi tětmito rolemi, propojuje je a poskytuje doplňující znalosti k úspěšnému uplatnění v praxi.

Zážitkové učení

Maximalizujeme přínos pro účastníky uplatněním metod zážitkového učení ve skupinové práci. Nejlepších výsledků dosahujeme, když účastníci pracují ve svém vlastním prostředí.

Potvrzení o absolvování

Po úspěšném absolvování kurzu obdrží účastníci certifikát, který potvrzuje jejich znalost vývoje software v souladu se SOLID principy a schopnost vytvářet modrní a udržitelný kód.

Je pro vás kurz vhodný?

Pro koho je kurz vhodný

Kurz je navržen pro vývojáře software na všech úrovních seniority. Schopnost identifikovat problematická místa v kódu a následně se s nimi etickým a bezpečným způsobem vypořádat představuje náročnou dovednost. Nedostatek těchto schopností může negativně ovlivnit strukturu většiny projektů, se kterými se vývojáři ve své profesní praxi setkávají.

Kurz na míru

Naším cílem je mít spokojené zákazníky a poskytovat vzdělávání co nejefektivněji. Proto je náš kurz zcela variabilní a jeho obsah se dá přizpůsobit senioritě školených vývojářů. Pokud si přejete kurz přizpůsobit, stačí nás o této skutečnosti informovat ve formuláři níže, nebo kdykoli během společného plánování školení.

Co vás naučíme

Hlavním motivem celého kurzu je skutečnost, že není tak těžké vytvořit funkční kód. Mnohem obtížnějším úkolem je mu dodat správnou strukturu, aby nejen splňoval požadovanou funkcionalitu, ale také vyhovoval podstatě slova „software“ – tedy aby byl formovatelný a snadno se přizpůsoboval novým požadavkům a potřebám.

Během kurzu budeme pracovat na existujícím menším projektu, který sice funguje, ale postrádá potřebnou strukturu pro zásahy, jež budeme v rámci projektu provádět. Při praktických úkolech nad takovým projektem se ukážou překážky, jež často brání postupu vpřed, a jejich důsledkem bývá další degradace struktury. Pod vedením zkušených lektorů se však dozvíte, jakým způsobem myšlení a volby inkrementů vedou k posunu struktury na kvalitativně vyšší úroveň, která již ochotně přijímá požadované změny.

Domácí úkol

Týden před začátkem školení vám zašleme domácí úkol. Vaším úkolem bude code review projektu, s kterým budeme během kurzu dále pracovat
1
2

Shrnutí a doplnění review

Na začátku školení se zaměříme na vypracované úkoly. V anonymizované podobě úkoly společně vyhodnotíme. Vaše review okomentujeme tak, abyste byli schopni v budoucnu odhalit více problematických částí kódu.

Zapracování nového požadavku

Do projektu si během kurzu zkusíte naimplementovat novou funkcionalitu, s cílem vyhodnotit váš postup a najít způsoby, jak ho zefektivnit.
3
4

Představení SOLID principů

Představíme vám všechny SOLID principy a na konkrétních příkladech z projektu demonstrujeme jejich porušení, včetně důsledků z toho vyplývajících pro udržování takového kódu.

Praktická ukázka refactoringu

Probereme si co je a co není refactoring a na několika příkladech z projektu vám ukážeme, jakými postupy se dá struktura kódu transformovat bez rizika zanesení nových chyb.
5
6

Automatizované testy

Aby refactoring mohl fungovat, bude potřeba kód pokrytý testy. Několik míst v projektu nebude tento požadavek splňovat. Vaším úkolem tak bude chybějící testy doplnit. Ukážeme si s jakými komplikacemi se při implementaci automatizovaných testů můžete v praxi nejčastěji setkat.

Zapracování nového požadavku po refactoringu

Zopakujeme si realizaci předchozího úkolu, nicméně s využitím kódu po refactoringu. Abyste na vlastní kůži zažili, jak snadno se tatáž funkčnost může implemnetovat do kódu, strukturovaného v souladu se SOLID principy.
7
8

A mnoho dalšího ...

Kromě výše zmíněného si v rámci kurzu také osvěžíte práci s Git a dozvíte se, jak systematicky, bezpečně a efektivně pracovat v libovolně velkém nesprávně strukturovaném projektu. Klademe velký důraz na efektivní využívání pokročilých nástrojů IDE a dáváme přednost klávesnici před myší.

Obsah kurzu v bodech

  • Zásady tvorby udržitelného kódu
  • Hlavní překážky testovatelnosti a rozšiřitelnosti softwaru
  • SRP (Single Responsibility Principle)
  • OCP (Open–Closed Principle)
  • LSP (Liskov Substitution Principle)
  • ISP (Interface Segregation Principle)
  • DIP (Dependency Inversion Principle)
  • Párové programování
  • Code Review
  • Refactoring; kdy s ním začít a kdy skončit (perfekcionismus versus praktičnost)
  • Automatizované testování
  • Test Doubles („mock“ objekty)
  • Immutabilita
  • “1. Make it work, 2. Make it right, 3. Make it fast” (Kent Beck)
  • Inkrementální vývoj
  • Využívání pokročilých funkcí IDE
  • Verzování v Git
Kurz byl do detailu promyšlený a byl v něm i prostor na individuální dotazy a specifické situace. Šlo vidět, že byl školitel původem z oboru a reálně si věci zažil.

Co mě však opravdu překvapilo, byla úroveň podpory, kterou mi ThriveBridge poskytl po samotném školení. Tým opakovaně reagoval na mé dotazy. Bylo jasné, že jim záleží na tom, abych nabyté znalosti opravdu použil.

Martin Holý

Projektový manažer na volné noze s bohatými zkušenostmi a vášní pro vedení a dokončování IT projektů.

Místo konání

Školení jsme schopni zrealizovat v prostorách našich kanceláří, přímo u klientů, nebo také v coworking prostorách, a to včetně cateringu.

Kontaktní formulář

    Sídlo

    ThriveBridge s.r.o.
    IČ: 194 58 827
    DIČ: CZ 194 58 827
    Nové sady 2/988, 602 00 Brno
    Společnost zapsaná v obchodním rejstříku vedeném Krajským soudem v Brně pod sp. zn. C 134690
    apartmentenvelopelicenseusersphonecalendar-fullheart-pulsecode