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 |