Kapitola 57. Refaktorizace

Obsah

57.1. Vůně a zápachy (Smells)
57.2. Refaktorizační postupy

Attributy: id="refaktorizace"

Odkazy:

Co to vlastně je „refaktorizace“? Refaktorizace je proces, kdy malými změnami upravujeme kód tak, aby byl čitšlnější, tedy snáze srozumeitelný člověku.

A co není refaktorizace? Refaktorizace zcela jistě není programování nových vlastností a rozšiřování funkcionality.

Důležité

Vždy rozlišujte, jestli právě refaktorizujete, nebo programujete.

Obrázek 57.1. Refaktorizační cyklus:

začínáme s funkčním, testovaným kódem
while je možné zjednodušit kód
    vyberte nejhorší problém (smell)
    vyberte refaktorizační metodu
    aplikujte ji
    zkontrolujte testy
end


Pradivdla jednoduchého návrhu:

  1. Projdou všechny testy.
  2. Communicates every intention important to the programmers.
  3. Neexistují žádné duplicity v kódu, logice nebo znalostech.
  4. Neobsahuje nadbytečný kód.

Obrázek 57.2. TDD/BDD mikrporoces

RED:   pište nové testy a kontrolujte že neuspějí
GREEN:   opravte kód nejjednodušším (naivním) způsobem, aby testy uspěly
REFACTOR: transformujte kód na nejjednodušší možný (odstraňováním zápachu), který uspokojí všechny testy
Opakujte postup v několikaminutových cyklech


Pravidlo tří

Poprvé něco prostě uděláte/napíšete. Podruhé když programujete podobnou věc prostě zkopírujete předešlý kód. Potřetí, když narazíte na stejný případ, refaktorizujete.

Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .