Konvence vývoje » Historie » Verze 7
Jan Kebrle, 2017-04-01 15:01
1 | 1 | Jan Kebrle | h1. Konvence vývoje |
---|---|---|---|
2 | |||
3 | 6 | Jan Kebrle | h2. Fylozofie vývoje |
4 | 1 | Jan Kebrle | |
5 | 2 | Jan Kebrle | Při vývoji budou v maximální možné míře použity/vyzkoušeny "best practices" vývoje softwaru (vysoké pokrytí kódu testy, programování proti rozhraní a modularita, použití návrhových vzorů), které s rostoucí velikostí projektu nabývají na důležitosti. Cílem bude psát čistý, co nejjednodušší a nejsrozumitelnější kód. |
6 | 1 | Jan Kebrle | |
7 | * Kód bude členěn do malých, maximálně nezávislých logických celků (modulů/tříd) zpřístupněných rozhraním (API). |
||
8 | |||
9 | 4 | Jan Kebrle | * Nejdůležitější vlastnostní kódu je, aby byl snadno čitelný, udržovatelný a srozumitelný z hlediska ostatních vývojářů. Názvy proměnných/metod/tříd budou voleny s důkladným rozmyslem tak, aby byly maximálně popisné a samovysvětlující. Komentáře budou proto použity pouze v odúvodněných případech (komplikovaná či špatně čitelná funkcionalita, popis rozhraní). |
10 | 1 | Jan Kebrle | |
11 | 4 | Jan Kebrle | * Nový kód bude v ideálním případě podroben code review dalším členem/členy týmu. Tím se docílí dodržování zde uvedených konvencí a zároveď napomůže včasnému odhalení chyb, nesrovnalostí či odchylek od specifikace. |
12 | 1 | Jan Kebrle | |
13 | |||
14 | 6 | Jan Kebrle | h2. Obecné konvence kódu |
15 | 1 | Jan Kebrle | |
16 | * Veškerý kód (názvy proměnných, tříd, metod...) bude psán v anglickém jazyce, komentáře kódu a popisy commitů budou pro srozumitelnost psány česky. |
||
17 | 4 | Jan Kebrle | |
18 | 5 | Jan Kebrle | * Každá třída/soubor bude na začátku obsahovat komentář se jménem autora a datem vytvoření (případně popis funkcionality). Výraznější změny třídy/souboru budou společně s jejich popisem zaznamenány stejným způsobem. |
19 | 4 | Jan Kebrle | |
20 | 5 | Jan Kebrle | * Levá složená závorka následující za deklarací třídy, metody či podmínky, bude umístěna na stejném řádku, jako tato deklarace. |
21 | 1 | Jan Kebrle | |
22 | 5 | Jan Kebrle | * Odsazování kódu bude realizováno výhradně tabulátorem. Zobrazení tabulátoru jako konkrétní počet mezer si pak může každý vývojář nastavit v IDE podle své osobní preference. |
23 | 1 | Jan Kebrle | |
24 | 4 | Jan Kebrle | |
25 | 5 | Jan Kebrle | h2. Konvence pro jazyk Java |
26 | |||
27 | 1 | Jan Kebrle | * Při vývoji budou dodržovány standartní konvence jazyka java, popsané v tomto "dokumentu":http://www.oracle.com/technetwork/java/codeconvtoc-136057.html firmy Oracle. |
28 | |||
29 | * Každý modul/logický celek bude zvenčí přístupný pomocí rozhraní deklarujícího služby které poskytuje, název rozhraní bude končit slovem "Api", např.: PasswordVerificationApi. Název třídy implementující toto rozhraní bude končit slovem "Impl", např.: PasswordVerificationImpl. V případě rozhraní nezávislého na konkrétním modulu a definujícím obecnou funkctionalitu, bude pro pojmenování rozhraní použita jmenná konvence začínající písmenem "I", např.: IComparable, IPrintable. |
||
30 | 5 | Jan Kebrle | |
31 | h2. Konvence jazyka PHP |
||
32 | |||
33 | 6 | Jan Kebrle | h2. Konvence dokumentace |
34 | 5 | Jan Kebrle | |
35 | 6 | Jan Kebrle | h3. Úrovně nadpisů |