Rozprávame sa o inštinkte programátorov, “náhodnom” programovaní, refaktorovaní či testovaní. Sú to témy, kde sa hľadá balance najťažšie.
Ako rýchlo rastie programátor na jednotlivých úrovniach? Mení sa to? Čo vlastne znamená “rásť” a je to potrebné?
Keď vo firme nakódiš úlohu, tak môže ešte prebehnúť code review process. V podstate to znamená, že ti niekto tvoj kód skontroluje. Ako to prebieha, prečo to niektoré firmy robia, a ako to robiť správne?
(00:00) – Úvod
(01:11) – O čom sú code reviews?
(06:11) – Výhody code reviews
(12:28) – Nevýhody code reviews
(18:21) – Ako robíme code review my?
(31:01) – Zásady dobrého code review
(41:20) – Rôzne otázky ohľadom code reviews
(58:01) – Záver
Oplatí sa naozaj čítať programátorské knihy, keď sa chceš zlepšovať v programovaní? Sú nejaké knihy lepšie ako iné? Ako čítať efektívne? Toto a veľa ďalšieho budeme rozoberať v 56. epizóde nášho podcastu.
(00:00) – Úvod
(01:31) – Aké knihy čítal Gabo? Osobné skúsenosti
(07:01) – Aké knihy čítal Jakub a prečo?
(10:02) – Výhody čítania programátorských kníh
(13:08) – Nevýhody čítania programátorských kníh
(19:31) – Best practices knihy vs. knihy zamerané na technológiu alebo jazyk
(34:51) – Rôzne štýly čítania kníh a zapisovania si poznámok
(42:56) – Alternatívy k čítaniu kníh
(50:41) – Záver
Teória je jedna vec, ale prax môže vyzerať úplne ináč. Ako dodržiavame clean code v osobných projektoch, spoločných projektoch a v práci? Vnímajú všetci programátori clean code podobne?
5. časť série o Clean Code je zároveň aj poslednou a rozoberáme v nej kapitoly System a Emergent Design. Ako funguje mesto? Jeden človek všetko riadi? Keď nám prestane tiecť voda, tak nebudú ani odvážať odpad? Nie. Separation of Concerns. V druhej časti epizódy sa pobavíme o 4 pravidlách, ktoré nás privedú k dobrému dizajnu.
(00:00) Úvod
(00:29) Viete si predstaviť, že vybudujete sami mesto?
(03:28) Separation of Concerns
(07:21) Dependency injection
(11:04) Separation of Concerns ako základ pre agilný vývoj
(12:40) Aj pri agilnom vývoji treba myslieť trochu dopredu
(15:16) 4 Pravidlá pre Emergent Design
(16:35) Pravidlo 1: Prechádzajú všetky testy
(20:12) – Pravidlo 2: Duplikácia
https://wp.streetofcode.sk/podcast/ep-15-clean-code-part-5-system-emergent-design/
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.
(00:00) Úvod
(00:36) Unit testy – čo to je a prečo ich chceme mať čisté
(04:52) Výhody unit testov (Flexibilita v produkčnom kóde)
(06:01) Čo robí testy čistými?
(13:41) Akronym FIRST (fast, independent, repeatable, self-validating, timely)
(18:59) Unit testy – záver, TDD (test driven development)
(21:54) Classy, úvod – ako vyzerá bežná classa?
(23:18) Enkapsulácia, čo to je a príklad
(25:40) Triedy by mali byť krátke
(26:44) Single responsibility principle
(31:38) Cohesion (Súdržnosť)
(33:31) Organizovanie pre zmenu, open-closed principle
(35:31) Izolovanie od zmien
(37:13) – Zrhnutie
https://wp.streetofcode.sk/podcast/ep-14-clean-code-part-4-unit-tests-classes/
V tretej časti série Clean Code rozoberáme Boundaries a Clean Concurrency. To znamená, že rozprávame o používaní knižníc tretích strán, o ich testovaní a o tom, ako sa dá čisto písať viac vláknová aplikácia, ako sa správať k vláknam, čo všetko pri tom treba vedieť a ako sa takéto aplikácie dajú testovať.
(00:00) Úvod
(00:35) Bound aries – úvod
(01:16) Príklad – HashMap
(04:31) Learning Tests
(06:51) Používanie kódu, ktorý ešte neexistuje
(09:47) Concurrency – úvod
(10:49) Rodiely medzi jedno- a viacvláknovými aplikáciami
(11:49) Performance viacerých vlákien
(14:39) Viacvláknové programovanie je náročné
(15:31) Kritické sekcie by mali byť čo najmenšie
(17:31) Používanie klonovaných dát
(19:08) Vlákna by mali byť čo najviac nezávislé
(19:48) Know your library
(21:43) Know your execution models
(22:43) Kritické sekcie by mali byť čo najkratšie v2
(23:35) Testovanie viacvláknových aplikácií
(25:12) Konfigurácia
(25:44) Rôzne platformi, rôzny výsledok
(27:31) Nereprodukovateľnosť
(28:07) Zhrnutie
https://wp.streetofcode.sk/podcast/ep-13-clean-code-part-3/
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) Úvod
(00:25) Komenty
(01:11) Dobré komenty
(03:30) Zlé komenty
(08:44) Objekty a dátové štruktúry
(10:30) Abstrakcia
(12:20) Procedurálne vs. objektovo orientované programovanie
(13:55) Law of Demeter
(16:06) DTO (Data transfer object)
(17:43) Error Handling
(18:21) Checked vs Unchecked Exceptions, kedy a ako používať
(23:49) Nevracať ani nevkladať NULL do funkcií
(27:07) – Záver
https://wp.streetofcode.sk/podcast/ep-12-clean-code-part-2-komenty-objekty-vynimky/
Prvá časť našej série o čistom kóde. Preberáme v nej prvé kapitoly knihy Clean Code od Roberta “Uncle Bob” Martina. V prvej časti porozprávame niečo o tom, ako by mal programátor pomenovávať rôzne prvky v kóde. V druhej časti rozoberáme funkcie, ich odporúčanú dĺžku, počet parametrov a ďalšie veci.
(00:00) Úvod
(00:49) Názvy
(03:56) Vyhľadateľné názvy
(05:29) Mental mapping
(08:52) Nesnažte sa byť vtipný v kóde
(09:40) Názvy funkcií by mali byť slovesá
(10:38) Jeden názov pre každý koncept
(12:53) Funkcie
(13:25) Dĺžka funkcií
(15:13) Zhora dole
(16:08) Jedna úroveň vnorenia v rámci funkcie
(17:58) Koľko parametrov by mala mať funkcia
(20:43) Funkcia by mala robiť jednu vec
(22:10) DRY – Don’t repeat yourself
(23:31) – Záver
https://wp.streetofcode.sk/podcast/ep-11/
Clean Code od Robert C. Martina je naozaj úžasná kniha, plná dobrých rád a tipov pre každého programátora. Táto epizóda je iba krátkym úvodom k našej sérii podcastov o clean code.
(00:00) Úvod
(00:23) Čo je clean/dirty code
(01:28) Kedy vzniká zlý kód
(03:37) Craftsmanship
(04:33) O čom bude táto séria
https://wp.streetofcode.sk/podcast/ep-10/