Ep. 11 – Clean Code Part 1 (Názvy, Funkcie)

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.

Stiahnuť

00:00 – 00:48 Úvod
00:49 – 03:55 Názvy
03:56 – 05:29 Vyhľadateľné názvy
05:29 – 08:51 Mental mapping
08:52 – 09:40 Nesnažte sa byť vtipný v kóde
09:40 – 10:37 Názvy funkcií by mali byť slovesá
10:38 – 12:52 Jeden názov pre každý koncept
12:53 – 13:24 Funkcie
13:25 – 15:12 Dĺžka funkcií
15:13 – 16:07 Zhora dole
16:08 – 17:57 Jedna úroveň vnorenia v rámci funkcie
17:58 – 20:42 Koľko parametrov by mala mať funkcia
20:43 – 22:09 Funkcia by mala robiť jednu vec
22:10 – 23:30 DRY – Don’t repeat yourself
23:31 – 24:34 – Záver

Názvy

  • Názvy, ktoré odhaľujú zámer (grades namiesto list)
  • Vyhýbať sa skratkám – getNoKids() môže znamenať aj niečo iné ako getNumberOfKids()
  • Namiesto konštánt používať vyhľadateľné názvy
  • Mental mapping je zlo – nenechajme programátora rozmýšľať navyše
  • Nesnažte sa byť vtipný v kóde – iných programátorov to môže zmiasť
  • Názvy funkcií by mali byť slovesá, názvy premenných podstatné mená (výnimkou sú boolean premenné)
  • Spoločný názov pre každý koncept – keď raz get-ujeme customerov tak zákazníkov nebudeme fetch-ovať

Funkcie

  • Krátke a ešte kratšie
  • Zhora dole – súvisiace funkcie by mali nasledovať pekne za sebou
  • Telo if-ov a for-ov sa väčšinou dajú vytiahnuť do novej funkcie
  • Funkcia by nemala mať viac ako 3 parametre – ak má, tak je pravdepodobné, že nerobí jednu vec
  • Funkcia by mala robiť jednu vec a nemala by mať sideeffecty
  • DRY – Don’t Repeat Yourself – ak sa niečo v kóde opakuje, dajme to do funkcie/classy a budeme mať menej opravovania v budúcnosti

Tweet o getNoKids()
Kniha na Amazone
Blog Uncle Bob-a
Twitter Uncle Bob-a


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Prihlás sa na odber nášho newslettra