Ep. 12 – Clean Code Part 2 (Komenty, Objekty a Error handling)
Druhá časť našej série o čistom kóde. Preberáme ďalšie kapitoly knihy Clean Code od Roberta “Uncle Bob” Martina. V tejto časti sa dozviete ako nepísať komenty, aký je rozdiel medzi objektami a dátovými štruktúrami (taktiež načo to je dobré). Na záver ešte stihneme prebrať kapitolu Error handling.
00:00 – 00:24 Úvod
00:25 – 01:10 Komenty
01:11 – 03:29 Dobré komenty
03:30 – 08:43 Zlé komenty
08:44 – 10:29 Objekty a dátové štruktúry
10:30 – 12:19 Abstrakcia
12:20 – 13:54 Procedurálne vs. objektovo orientované programovanie
13:55 – 16:05 Law of Demeter
16:06 – 17:42 DTO (Data transfer object)
17:43 – 18:20 Error Handling
18:21 – 23:48 Checked vs Unchecked Exceptions, kedy a ako používať
23:49 – 27:06 Nevracať ani nevkladať NULL do funkcií
27:07 – Záver
Komenty
Keď sa zamyslíme, tak väčšinou komentujeme vtedy, keď nevieme, aby náš kód hovoril za seba (resp. nevieme to lepšie naprogramovať)
Dobré komenty:
- legálne komenty (podpis autora, copyright)
- TODO komenty (na toto pozor ale)
- Keď chceme vysvetliť, prečo sme sa rozhodli tak, ako sme sa rozhodli (pri nejakej business logike)
- Dokumentácia (Java Doc napr.)
ZLÉ komenty:
- komenty namiesto toho, aby sme funkciu nazvali výstižným názvom
- zavádzajúce komenty – komenty časom klamú lebo kód sa mení, takže najlepší koment je žiadny koment
- obvious komenty – String customerName // Name of the customer
- zakomentovaný kód, ostatní sa ho potom boja vymazať alebo prepísať
Objekty a dátové Štruktúry
Objekty zverejňujú správanie ale schovávajú data. Štruktúry nemajú správanie a zverejňujú data
- dátová štruktúra je trieda, ktorá má fieldy a gettre prípadne… nemá funkcie
- objekt je trieda, ktorá mú funkcie, obsahuje chovanie
- abstrakcia skrýva implementáciu
- Law of demeter
- DTO (data transfer object), class (bean) ktora obsahuje fieldy a getre
ERROR HANDLING
- nepoužívať checked exceptions (Java)
- checked vs unchecked exceptions (Java)
- dať výnimkám kontext, resp. výstižný názov a správu v nej
- vytvárať si vlastné výnimky je dobré
- nevracať NULL vo funkciach
- nedávať NULL ako parameter do funkcie
- rovnováha medzi robustnosťou a čitateľnosťou