Konvence obecně
-
Slouží k ustálení zvyklostí, jak psát kód
-
Konvence pro různé programovací jazyky se obvykle částečně liší.
-
Nejsou striktně vyžadované překladačem, tzn. kód může být přeložitelný a funkční i při porušení konvencí
-
V Javě se dodržují víceméně všude a všemi vývojáři, ti většinou nemají moc vlastních odlišných konvencí
-
V Javě se na nich hodně lpí a jejich nedodržování je neslušnost
-
Podstatnou kategorií konvencí jsou jmenné konvence pro pojmenovávání tříd, proměnných atd.
Jmenné zásady v Javě
-
Nepoužíváme diakritiku (problémy s editory, přenositelností a kódováním znaků)
-
Používáme výhradně angličtinu (čeština/slovenština dělá problémy cizojazyčným kolegům v týmu)
-
Je-li jméno složenina více slov, pak je nespojujeme podtržítkem:
This_is_bad_in_Java
-
Používáme tzv. camelCase, "velbloudí" střídání velkých a malých písmen:
myVeryLongMethodNameIsOK()
-
Konvence jsou jiné pro jména balíků, tříd, metod, proměnných atd. viz dále
Konvence názvů proměnných
-
vztahují se na lokální proměnné v metodách i na atributy
-
jména proměnných začínají malým písmenem
-
Příklady
-
age
-
temporalName
-
Konvence názvů metod
-
platí pro všechny metody obecně
-
jména metod začínají malým písmenem
-
názvy metod vždy obsahují závorky, v kterých mohou, ale nemusí, být parametry
-
Příklady
-
calculateAge()
-
print(String stringToBePrinted)
—stringToBePrinted
je parametr -
toString()
-
Konvence názvů tříd
-
začínají velkým písmenem
-
Příklady
-
Person
-
MeasurableGrid
-
Konvence názvů balíků
-
všechno malými písemny
-
jednotlivá slova reprezentují složky názvu (a tím adresáře, kde jsou třídy balíku uloženy)
-
slova jsou oddělena tečkou
-
Příklady
-
cz
-
cz.muni.fi
-
geometry
(není ideální, protože není světově unikátní)
-
Konvence názvů konstant
-
Konstantou rozumíme hodnotu, která se nemění
-
Název konstanty se píše velkými písmeny
-
Konstanta je jediná výjimka, kde v názvu používáme znak
_
-
Příklady
-
SIZE
-
MAXIMUM_AGE
-
DEFAULT_USER_NAME
-
-
Deklarace typicky obsahuje modifikátory
public static final
-
V celé podobě například
public static final int MAXIMUM_AGE = 100;
-
Je dobře možné i s omezenou viditelností
private static final int MAXIMUM_AGE = 100;
Jmenné konvence — testík
-
Co následující identifikátory mohou být - Třída? Metoda? Lokální proměnná? Atribut? Konstanta?
-
Dog
-
dog
-
dog()
-
DOG
-
Jmenné konvence — závěrem
-
Dodržování jmenných konvencí výrazně zlepšuje čitelnost i cizího kódu
-
Je základem psaní srozumitelných programů
-
Bude vyžadováno a hodnoceno v úlohách i písemkách
-
Poměrně málo často se v názvech tříd či proměnných používají číslice — spíše výjimečně
-
Jedině tam, kde jde o zvláštní konkrétní význam daného čísla, např. Counter32bit, Vertex2D.