ako písať „pekný“ kód? programovanie v jazyku java
Post on 10-Jan-2016
60 Views
Preview:
DESCRIPTION
TRANSCRIPT
Ako písať „pekný“ kód?Programovanie v jazyku JAVA
Mgr. Lukáš Zmuda
lukas.zmuda@gmail.com
„Pekný“ kód - definícia
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
• exaktná definícia neexistuje; každý si tvorí vlastnú definíciu
• existujú zásady, ktoré ak budeme dodržiavať, kód bude prehľadnejší, čitateľnejší, použiteľnejší
Názvy premenných, funkcií, tried
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
boolean zistiCiJeTentoRokPriestupny(int x) { if(x %4 == 0)
return true; else
return false;}
Pozn.: Algoritmus je iba ilustračný a nezohľadňuje všetky výnimky v pravidlách výpočtu priestupného roku (priestupné nie sú roky deliteľné 100, pokiaľ nie sú zároveň deliteľné 400)
Pravidlo č.1. Názvy premenných volíme podľa toho, akú informáciu v sebe nesú. Názvy metód (funkcií) naopak podľa toho čo vykonávajú.
?
boolean jePriestupny(int rok) { if(rok %4 == 0)
return true; else
return false;}
Názvy premenných, funkcií, tried
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
Pravidlo č.1. Názvy premenných volíme podľa toho, akú informáciu v sebe nesú. Názvy metód (funkcií) naopak podľa toho čo vykonávajú.
Všetko s mierou!!!
for(int premennaCyklu = 0; premennaCyklu<100; premennaCyklu++)
Názvy premenných, funkcií, tried
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
Pravidlo č.2. Metódy (funkcie) by mali byť krátke. Metóda by mala vykonávať iba jednu činnosť.
class Kosik{ ... public Kosik pridajDoKosika(Produkt produkt){
this.vyprazdniKosik();this.kosik.append(produkt);return this.kosik;
} ...}
• vykonáva daná metóda činnosť, ktorú má v popise?
• neočakávaná činnosť vyprazdniKosik()
Konvencie v jazyku Java
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
i a j sú celočíselné indexy
konštanty sa píšu IBA_VELKYMI_PISMENAMI a slová v nich sú oddelené podčiarkovníkom
názvy tried a rozhraní sa píšu veľkými začiatočnými písmenami; v prípade viacslovného názvu každé slovo začína veľkým písmenom – pr.: NazovTriedyAleboRozhrania
názvy premenných a metód začínajú malým písmenom, ale vo zvyšných prípadoch sa riadi predchádzajúcou konvenciou – nazovPremennejAleboMetody
podčiarkovník sa ako oddeľovač slov nepoužíva, výnimkou sú iba názvy, ktoré sa celé píšu veľkými písmenami
predpony get a set sa používajú pre prístupové metódy
Pozn.: Viac o konvenciách v jazyku v Java nájdete v publikácii The Elements of Java Style
Objekty
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
Pravidlo č.3. Objekty píšeme malé. Každá trieda (objekt) by mal mať na starosti iba jednu vec.
Objekty
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
Pravidlo č.4. Zapuzdrujem, zapuzdruješ, zapuzdrujeme.
vs.
Formátovanie
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
import java.util.Scanner;public class Trojuholnik {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n=integer.parseInt(sc.nextLine());for (int i=1;i<=n; i++){for(int j=1;j<=i;j++){System.out.print("*");}System.out.println();}sc.close();}}
import java.util.Scanner;
public class Trojuholnik {
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } sc.close(); }}
vs.
• v Eclipse pomocou klávesovej skratky Ctrl-Shift-F naformátujeme kód
Doporučená literatúra
Ako písať „pekný“ kód?Mgr. Lukáš Zmuda
definícianázvy premenných, funkcií, tried
objektyformátovanie
Dokonalý kód
Vydané: Computer Press 2006, ISBN: 802510849X
Kniha stmeľuje užitočné typy s efektívnymi vývojovými stratégiami, ktoré kedysi museli vývojári zháňať a získavať od skúsenejších kolegov
Širší uhol pohľadu na vývoj softvéru
top related