SlideShare a Scribd company logo
Java koodimise stiilijuhised
Kevin Laanemägi
Rif 12
Tarkvaratehnika
Taane
• Iga uus taane on 2-4 vahet suur.
• Ära kasuta tab-i taaneteks(,sest see pikkus
võib erineda arvutitel).
• Kõik „if“,“while“ ja „for“ kirjeldavad laused
peavad olema {}-sulgude vahel.

Näited
Vahed
• Kõik meetodite nimed peavad järgneva
sulgudele.
• Mõlemal pool tehtemärki peab olema tühik.
• Komadele ja semikoolonitele järgneb alati
tühik.
• if, while, for, switch, ja catch võtmesõnadele
peab alati järgnema tühik.
• Näited!
Class-i ehitus
class ehitus
{
// attribuudid
// konstruktor
// meetod
}
• Ära koosta pikemat rida kui 120 tähemärki.
Nime valimine
Muutujates ja Parameetrites
• Lähtu muutuja tegevusest.
• Koosta nimed segades suuri ja väikeseid
algustähti iga sõna alguses.
• Nt: „salesOrder“ mitte “SalesOrder“
või “sales_order“.
• Massiivi nimed olgu mitmuses.
• Iga uus muutuja olgu omaette real.
• Kui nimi on segane siis kommenteeri juurde.
Näited
Konstandis
• Nimed koosta kõik läbiva suure tähega.
• Kasuta numbrite esitamiseks konstante.
day = (3 + muutuja) % 7; //Nii ei tohi
,sest numbrite tähendus ebaselge.
int KOLMAPAEV = 3;
int PAEVI_NADALAS = 7;
day = (KOLMAPAEV + muutuja) %
PAEVI_NADALAS; //Õiged
Muudes nimedes
• Paki nimed kirjutame ainult väiketähtedega.
• Hungarian notation ning „_“ ja „$“-märke ära
kasuta nimetuse alguses.
• Sa ei saa kasutada java keele reserveeritud
sõnu.
Koodimine
• Ära kunagi kasuta do-while kordust,
Selle asemel kasuta hoopis „while“ kordust.
• Ära kasuta kunagi „return“ käsku meetodi
keskel.
• Ära kunagi kasuta „continue“ käsku.
• Ära kasuta „break“ käsku mujal, kui ainult
„switch“ võtmesõnas.
• Kasuta kasvavat ja kahanevat meetodit alati
uuel real.
Näited
• Algoritmid koosta alati loetavalt.
• Muutujad tegevus kommenteeri.
• Voldi/Murra alati ridu kui see on liiga pikk
1. Peale koma murdmine.
2. Ennem sümbolit või märki murdmine.
3. Murtud rida jätka järgmisel real kohakuti eelmise reaga.

• Lõhu meetodid väiksemateks uuesti
kasutatavateks meetodideks.
• Kasuta alati kõige uuemaid võimalusi ja väldi
vanade võimaluste kasutamist, kui on olemas
ka uued sellele meetodile.
Näide
Kommenteerimine
• Päise kommentaari kirjuta, millega on tegu ja
kes selle tegi.
• Ühe rea kommentaare kasuta, et kirjeldada
klassi või kirjeldada tegevust koodis.
• Tagumisi kommentaaridega kirjutatakse
muutuja nimi või millega tegu on kui sellel on
ebatäpne nimetus.(aga üldiselt hoidu nende
kasutamisest).
Näide
Tänan kuulamast!
Näited
Meetodid:
foo (i, j); // Vale!
foo(i, j); // Õige!

Tähemärkide vahed:
a=b+c;//Vale
a = a + c;//Õige

Tühikud semikoolonitega:
for (int i = 0;i < 10;i++) // Vale!
for (int i = 0; i < 10; i++) // Õige!
if(tema) // Vale!
while(pannkook < 7) // ! Vale
for(int i = 0; i < 10; i++) // Vale!
catch(liigaPaljuLinde e) // Valge!
catch (liigaPaljuLinde e) // Õige!
Tagasi

if (tema) // Õige!
while (pannkook < 7) // Õige!
for (int i = 0; i < 10; i++)// Õige!
Taanded
public class TereMaailm {
....public void tervitaKasutajat(int hetkelineAeg)
....{
........System.out.print(„Hea");
........if (hetkelineAeg < parastlouna)
........{
............System.out.println(„ Hommik");

}
....}
........}

Igale võtmesõnale järgnevad {}
if (superMan == tuuker) System.out.println („Lusikasn!");//Vale
if (superMan == tuuker) { System.out.println („Lusikas!"); }//Õige
Tagasi
Reserveeritud sõnad
abstract assert boolean break
catch
char
class
const
double
do
else
enum
final
finally
float
for
impleme import instanceo
int
nts
f
native
new
null
package
public
return
short
switch synchroni this
zed
true
try
void

Tagasi

static
throw

byte
case
continue default
extends
false
goto
if
interface long
private protecte
d
strictfp super
throws transient

volatile while
Tegevus:
• keskmineKiirus = 20;
• int[] kiirused;
• kiirused = new int[20];

Tagasi
boolean valmis = false;
do { ... }
while (!valmis)//Vale
boolean valmis = false;
while (!valmis) { ... }//Õige
/* Tagastab suurima numbrite vahel(returni kasutus)*/

public static int max(int num1, int num2)
{ int vastus;
if(num1 > num2){vastus = num1;}
else {vastus = num2;}
return vastus;}
Tagasi
//Murdmine
if ((condition1 && condition2) || (condition3 && condition4)
||!(condition5 && condition6))
{ teeMidagi(); }

Tagasi
//**********************************************************
// Nimi: Programm 2
// Konto: (konto)
// // Autor: (Nimi)
// // Valmimisaeg(kuus Päeva)
//*********************************************************
Ühe rea kommentaar
// Arvuti skoori arvutamine
skooriSumma = 0;
Järgnev kommentaar
ss = s1 + s2 + s3; // lisa numbrid, et saada summa

Tagasi
Hungarian notation

See on muutujale või funktsioonile selle tüübi
määramine esimese tähega.(näitab liiki või
otstarvet).
String Tere -> sTere jne
bBusy : boolean (nimi ja tüüp)
chInitial : char
fpPrice: floating-point
dbPi : double (Systems)
Tagasi

More Related Content

Viewers also liked

Facebook Month-To-Month – April 2014
Facebook Month-To-Month – April 2014Facebook Month-To-Month – April 2014
Facebook Month-To-Month – April 2014
NapoleonCat.com
 
Co nas kręci na YouTube
Co nas kręci na YouTubeCo nas kręci na YouTube
Co nas kręci na YouTube
NapoleonCat.com
 
French action topic 8
French action topic 8French action topic 8
French action topic 8as436525mhs
 
Spanning people, processes, and technologies: The business case for Collabora...
Spanning people, processes, and technologies: The business case for Collabora...Spanning people, processes, and technologies: The business case for Collabora...
Spanning people, processes, and technologies: The business case for Collabora...IBM Rational software
 
Data Management and Libraries by Mark Ludwig
Data Management and Libraries by Mark LudwigData Management and Libraries by Mark Ludwig
Data Management and Libraries by Mark LudwigCharles Lyons
 
комментарии к макетам
комментарии к макетамкомментарии к макетам
комментарии к макетамSergey Vorobyov
 
Storyboard 2
Storyboard 2Storyboard 2
Storyboard 2Stunnah
 
Social Brand Footprint - wrzesien 2013
Social Brand Footprint - wrzesien 2013Social Brand Footprint - wrzesien 2013
Social Brand Footprint - wrzesien 2013
NapoleonCat.com
 
Booting Weblogic - OOW14
Booting Weblogic - OOW14Booting Weblogic - OOW14
Booting Weblogic - OOW14
Jon Petter Hjulstad
 
Understanding Unified Communications - White Paper
Understanding Unified Communications - White PaperUnderstanding Unified Communications - White Paper
Understanding Unified Communications - White Paper
Digium
 
SES 2014 - Local Search - Bigger than you think
SES 2014 - Local Search - Bigger than you thinkSES 2014 - Local Search - Bigger than you think
SES 2014 - Local Search - Bigger than you think
Peter Young
 
Conole alevizou 2010
Conole alevizou 2010Conole alevizou 2010
Conole alevizou 2010
Kyi San
 
Clear Fork Watershed Council Status Report
Clear Fork Watershed Council Status ReportClear Fork Watershed Council Status Report
Clear Fork Watershed Council Status Report
Derek Douglas
 
AstriCon 2014 keynote: Russell Bryant
AstriCon 2014 keynote: Russell BryantAstriCon 2014 keynote: Russell Bryant
AstriCon 2014 keynote: Russell Bryant
Digium
 

Viewers also liked (17)

Facebook Month-To-Month – April 2014
Facebook Month-To-Month – April 2014Facebook Month-To-Month – April 2014
Facebook Month-To-Month – April 2014
 
Co nas kręci na YouTube
Co nas kręci na YouTubeCo nas kręci na YouTube
Co nas kręci na YouTube
 
French action topic 8
French action topic 8French action topic 8
French action topic 8
 
Spanning people, processes, and technologies: The business case for Collabora...
Spanning people, processes, and technologies: The business case for Collabora...Spanning people, processes, and technologies: The business case for Collabora...
Spanning people, processes, and technologies: The business case for Collabora...
 
Data Management and Libraries by Mark Ludwig
Data Management and Libraries by Mark LudwigData Management and Libraries by Mark Ludwig
Data Management and Libraries by Mark Ludwig
 
комментарии к макетам
комментарии к макетамкомментарии к макетам
комментарии к макетам
 
Storyboard 2
Storyboard 2Storyboard 2
Storyboard 2
 
World cancer day isha
World cancer day ishaWorld cancer day isha
World cancer day isha
 
Social Brand Footprint - wrzesien 2013
Social Brand Footprint - wrzesien 2013Social Brand Footprint - wrzesien 2013
Social Brand Footprint - wrzesien 2013
 
Booting Weblogic - OOW14
Booting Weblogic - OOW14Booting Weblogic - OOW14
Booting Weblogic - OOW14
 
vFutebol - Mídia Kit
vFutebol - Mídia KitvFutebol - Mídia Kit
vFutebol - Mídia Kit
 
Understanding Unified Communications - White Paper
Understanding Unified Communications - White PaperUnderstanding Unified Communications - White Paper
Understanding Unified Communications - White Paper
 
SES 2014 - Local Search - Bigger than you think
SES 2014 - Local Search - Bigger than you thinkSES 2014 - Local Search - Bigger than you think
SES 2014 - Local Search - Bigger than you think
 
Conole alevizou 2010
Conole alevizou 2010Conole alevizou 2010
Conole alevizou 2010
 
Clear Fork Watershed Council Status Report
Clear Fork Watershed Council Status ReportClear Fork Watershed Council Status Report
Clear Fork Watershed Council Status Report
 
AstriCon 2014 keynote: Russell Bryant
AstriCon 2014 keynote: Russell BryantAstriCon 2014 keynote: Russell Bryant
AstriCon 2014 keynote: Russell Bryant
 
Front cover
Front coverFront cover
Front cover
 

Java koodimise stiilijuhised

  • 1. Java koodimise stiilijuhised Kevin Laanemägi Rif 12 Tarkvaratehnika
  • 2. Taane • Iga uus taane on 2-4 vahet suur. • Ära kasuta tab-i taaneteks(,sest see pikkus võib erineda arvutitel). • Kõik „if“,“while“ ja „for“ kirjeldavad laused peavad olema {}-sulgude vahel. Näited
  • 3. Vahed • Kõik meetodite nimed peavad järgneva sulgudele. • Mõlemal pool tehtemärki peab olema tühik. • Komadele ja semikoolonitele järgneb alati tühik. • if, while, for, switch, ja catch võtmesõnadele peab alati järgnema tühik. • Näited!
  • 4. Class-i ehitus class ehitus { // attribuudid // konstruktor // meetod } • Ära koosta pikemat rida kui 120 tähemärki.
  • 6. Muutujates ja Parameetrites • Lähtu muutuja tegevusest. • Koosta nimed segades suuri ja väikeseid algustähti iga sõna alguses. • Nt: „salesOrder“ mitte “SalesOrder“ või “sales_order“. • Massiivi nimed olgu mitmuses. • Iga uus muutuja olgu omaette real. • Kui nimi on segane siis kommenteeri juurde. Näited
  • 7. Konstandis • Nimed koosta kõik läbiva suure tähega. • Kasuta numbrite esitamiseks konstante. day = (3 + muutuja) % 7; //Nii ei tohi ,sest numbrite tähendus ebaselge. int KOLMAPAEV = 3; int PAEVI_NADALAS = 7; day = (KOLMAPAEV + muutuja) % PAEVI_NADALAS; //Õiged
  • 8. Muudes nimedes • Paki nimed kirjutame ainult väiketähtedega. • Hungarian notation ning „_“ ja „$“-märke ära kasuta nimetuse alguses. • Sa ei saa kasutada java keele reserveeritud sõnu.
  • 10. • Ära kunagi kasuta do-while kordust, Selle asemel kasuta hoopis „while“ kordust. • Ära kasuta kunagi „return“ käsku meetodi keskel. • Ära kunagi kasuta „continue“ käsku. • Ära kasuta „break“ käsku mujal, kui ainult „switch“ võtmesõnas. • Kasuta kasvavat ja kahanevat meetodit alati uuel real. Näited
  • 11. • Algoritmid koosta alati loetavalt. • Muutujad tegevus kommenteeri. • Voldi/Murra alati ridu kui see on liiga pikk 1. Peale koma murdmine. 2. Ennem sümbolit või märki murdmine. 3. Murtud rida jätka järgmisel real kohakuti eelmise reaga. • Lõhu meetodid väiksemateks uuesti kasutatavateks meetodideks. • Kasuta alati kõige uuemaid võimalusi ja väldi vanade võimaluste kasutamist, kui on olemas ka uued sellele meetodile. Näide
  • 12. Kommenteerimine • Päise kommentaari kirjuta, millega on tegu ja kes selle tegi. • Ühe rea kommentaare kasuta, et kirjeldada klassi või kirjeldada tegevust koodis. • Tagumisi kommentaaridega kirjutatakse muutuja nimi või millega tegu on kui sellel on ebatäpne nimetus.(aga üldiselt hoidu nende kasutamisest). Näide
  • 15. Meetodid: foo (i, j); // Vale! foo(i, j); // Õige! Tähemärkide vahed: a=b+c;//Vale a = a + c;//Õige Tühikud semikoolonitega: for (int i = 0;i < 10;i++) // Vale! for (int i = 0; i < 10; i++) // Õige! if(tema) // Vale! while(pannkook < 7) // ! Vale for(int i = 0; i < 10; i++) // Vale! catch(liigaPaljuLinde e) // Valge! catch (liigaPaljuLinde e) // Õige! Tagasi if (tema) // Õige! while (pannkook < 7) // Õige! for (int i = 0; i < 10; i++)// Õige!
  • 16. Taanded public class TereMaailm { ....public void tervitaKasutajat(int hetkelineAeg) ....{ ........System.out.print(„Hea"); ........if (hetkelineAeg < parastlouna) ........{ ............System.out.println(„ Hommik"); } ....} ........} Igale võtmesõnale järgnevad {} if (superMan == tuuker) System.out.println („Lusikasn!");//Vale if (superMan == tuuker) { System.out.println („Lusikas!"); }//Õige Tagasi
  • 17. Reserveeritud sõnad abstract assert boolean break catch char class const double do else enum final finally float for impleme import instanceo int nts f native new null package public return short switch synchroni this zed true try void Tagasi static throw byte case continue default extends false goto if interface long private protecte d strictfp super throws transient volatile while
  • 18. Tegevus: • keskmineKiirus = 20; • int[] kiirused; • kiirused = new int[20]; Tagasi
  • 19. boolean valmis = false; do { ... } while (!valmis)//Vale boolean valmis = false; while (!valmis) { ... }//Õige /* Tagastab suurima numbrite vahel(returni kasutus)*/ public static int max(int num1, int num2) { int vastus; if(num1 > num2){vastus = num1;} else {vastus = num2;} return vastus;} Tagasi
  • 20. //Murdmine if ((condition1 && condition2) || (condition3 && condition4) ||!(condition5 && condition6)) { teeMidagi(); } Tagasi
  • 21. //********************************************************** // Nimi: Programm 2 // Konto: (konto) // // Autor: (Nimi) // // Valmimisaeg(kuus Päeva) //********************************************************* Ühe rea kommentaar // Arvuti skoori arvutamine skooriSumma = 0; Järgnev kommentaar ss = s1 + s2 + s3; // lisa numbrid, et saada summa Tagasi
  • 22. Hungarian notation See on muutujale või funktsioonile selle tüübi määramine esimese tähega.(näitab liiki või otstarvet). String Tere -> sTere jne bBusy : boolean (nimi ja tüüp) chInitial : char fpPrice: floating-point dbPi : double (Systems) Tagasi