Logo

Ep. 14 – Clean Code Part 4 (Unit Tests, Classes)

V 4. časti série Clean Code rozoberáme Unit testy a Triedy. Čo sú to unit testy a načo ich potrebujeme? Ako mať testy čisté? Ako by mala vyzerať čistá trieda? Taktiež si prejdeme veľmi dôležité princípy ako Single responsibility principle, Cohesion, Open-Closed principle.

Stiahnuť

00:00 – 00:35 Úvod
00:36 – 04:51 Unit testy – čo to je a prečo ich chceme mať čisté
04:52 – 06:00 Výhody unit testov (Flexibilita v produkčnom kóde)
06:01 – 13:40 Čo robí testy čistými?
13:41 – 18:58 Akronym FIRST (fast, independent, repeatable, self-validating, timely)
18:59 – 21:53 Unit testy – záver, TDD (test driven development)
21:54 – 23:17 Classy, úvod – ako vyzerá bežná classa?
23:18 – 25:39 Enkapsulácia, čo to je a príklad
25:40 – 26:43 Triedy by mali byť krátke
26:44 – 31:37 Single responsibility principle
31:38 – 33:30 Cohesion (Súdržnosť)
33:31 – 35:30 Organizovanie pre zmenu, open-closed principle
35:31 –  37:12 Izolovanie od zmien
37:13 –  Zrhnutie

UNIT TESTY

  • Unit test – Testovanie malej časti kódu (unitu) izolovaného od ostatných častí.
  • Testovaci kód je rovnako dôležitý ako produkčný a mali by byť na ňom uplatnené princípy clean code
  • Ak máme veľa produkčného kódu otestovaného, tak si môžeme dovoliť skúšať prerábať existujúci kód a zlepšovať ho, pretože nám testy hovoria, čo funguje a čo nefunguje. A to nám dáva flexibilitu.
  • Testy by mali byť krátke, čitateľné. Mali by robiť jednu vec a mať vhodný názov.
  • Jeden test by mal testovať jednu vec, resp. jeden koncept.

C# Tutoriál – Základy Unit Testovania (Gabov video-tutoriál)
Unit testing in C# – basics (Gabov blog)
TDD – Test driven development

Classes (Triedy)

  • Triedy sú nejako zorgazinované (najprv premenné a to tiež v poradí konštánt, public premenných a private. Potom máme konštruktor a za tým public metódy. Ak nejaká public metóda obsahuje v sebe private metódu, tak tá private metóda by mala byť v triede za tou public metódou.
  • Enkapsulácia – Využitie public, private, protected a package-private funkcie a premenné.
  • Single responsibility principle – Trieda by mala mať jeden dôvod pre zmenu.
    NIE – DatabaseManager, v ktorom upravujeme produkty aj uživateľov
    ÁNO – ProductManager, CustomerManager
  • Cohesion (Súdržnosť) – Čím viac je trieda súdržná, tým viac sú premenné a metódy vzájomne závislé a tvoria spolu logický celok. Ak trieda nie je súdržná, tak ju treba možno rozdeliť na viacero menších tried.
  • Organizovanie pre zmenu
  • Izolovanie od zmien

Dobrý článok (Hľadanie zlatej strednej cesty)

 

Kniha na Amazone
Blog Uncle Bob-a
Twitter Uncle Bob-a

Logo
Street of Code o.z.Hlaváčiková 2984105, Bratislava
Chcem odoberať novinky
Poskytnutím emailu súhlasíš s jeho spracovaním v súlade s GDPR.
Copyright © 2024 Street of Code
Kód tejto stránky si vieš pozrieť na našom GitHub-e