Konvence vývoje » Historie » Revize 4
Revize 3 (Jan Kebrle, 2017-04-01 13:46) → Revize 4/8 (Jan Kebrle, 2017-04-01 14:32)
h1. Konvence vývoje h2. Obecné konvence kódu h3. Fylozofie vývoje 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. * 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). * 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í). * Nový kód bude v ideálním případě podroben code review dalším členem/členy členem 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 odchýlení od specifikace. h3. Obecné konvence Lokalizace kódu a komentářů * 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. * Každá třída/soubor bude na začátku obsahovat komentář se jménem autora a datumem vytvoření (případně popis funkcionality). Výraznější změny budou třídy/souboru budou společně s jejich popisem zaznamenány stejným způsobem. * h2. Konvence pro Jazyk java h3. Styl kódu jazyka Java * 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. * 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.