Projekt

Obecné

Profil

Dekompozice » Historie » Verze 10

Štěpán Červenka, 2019-11-06 19:48

1 1 Lukáš Moučka
h1. Dekompozice
2
3
h2. Titulek
4
5
Dekompozice kódu
6
7
h2. Datum vydání
8
9
6. 11. 2019
10 2 Lukáš Moučka
11
h2. Autoři
12
13
Lukáš Moučka, Štěpán Červenka
14
15
h2. Cílové skupina
16
17
programátoři
18
19
h2. Hlavní cíl
20
21 4 Lukáš Moučka
* rozklad částí kódu do menších logických celků
22 8 Lukáš Moučka
* rozšiřitelnost, přehlednost a rozdělení logiky.
23 2 Lukáš Moučka
24
h2. Dopad
25
26
* efektivnější programování při rozšiřování kódu
27
* jednodušší hledání chyb
28
* podporuje metodu "Rozděl a panuj", která problém rozděluje na menší dílčí části (podproblémy).
29
30
h2. Překážky
31
32
* je potřeba zaujmout jiný přístup k programování
33
* vetší důraz je kladen na návrh
34 10 Štěpán Červenka
* programovací jazyk
35
* nelze obecně určit, jak má dekompozice vypadat; jedná se o tacitní znalost programátora
36 2 Lukáš Moučka
37
h2. Popis
38
39 1 Lukáš Moučka
Hlavním cílem je rozdělení určitého úseku kódu na elementární části kódu. Elementární část kódu můžeme chápat jako třídu, konstruktor nebo metodu. Každá elementární část by měla obsahovat jen kód, který vykonává operace spjaté s jejím názvem. Pokud např. v metodě s názvem _vypisJmeno()_ budeme mít kód, který zároveň kontroluje, zdali se jméno vyskytuje v kalendáři, tak by tato část kódu už měla v jiné metodě s názvem _jeJmenoVKalendari()_.
40 2 Lukáš Moučka
41 6 Lukáš Moučka
_Dekompozice_ podporuje metodu "Rozděl a panuj" a dovoluje programátorovi řešit relativně složitý problém rozdělením na menší podproblémy. Dílčí části (podproblémy) mohou být lépe řešené za pomocí týmové práce. V rámci firemního prostředí lze všechny atributy (zjištěné při procesu dekompozice) zaznamenávat do příslušných informačních struktur. Podle těchto atributů následně probíhá nastavení _PMD_ testů, které mohou odhalovat úseky kódu vhodné pro dekompozici. Dalším nástrojem pro zlepšení dekompozice je _code review_. V ideálním případě správný návrh kódu už od jeho počátku a dekompozice se nemusí řešit až při _refaktorování_ kódu. Zpětné modifikace kódu jsou vždy časově/finančně náročné.
42 3 Lukáš Moučka
43
h2. Sdílení
44
45
* Slack
46
* Facebook Business
47
* Wiki
48
* Firemní školení
49
* Konference
50 9 Lukáš Moučka
51
h2. Zdroje
52
53
http://www.fao.org/3/a-as547e.pdf