You are on page 1of 10

1

JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI


JavaTrk
Java Kod simlendirme ve ekil Standard

Srm 0.2

Akin Kaldiroglu
akin@javaturk.org

Serbeste kullanlabilinir. www.javaturk.org

2 JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI


indekiler
Giri ...................................................................................................................................................................................... 3
1. Genel kurallar ........................................................................................................................................................ 3
2. En temel ekil kurallar ...................................................................................................................................... 3
3. Genel isimlendirme kurallar .......................................................................................................................... 5
4. Paket isimlendirme kurallar ........................................................................................................................... 6
5. Tip isimlendirme kurallar ................................................................................................................................ 6
6. Deiken isimlendirme kurallar ................................................................................................................... 7
7. Metot isimlendirme kurallar .......................................................................................................................... 9
Kaynaklar ........................................................................................................................................................................ 10

Deiiklik Gemii
Tarih
24 Mart 2014
23 Temmuz 2014

Aklama
lk oluturma.
Baz ekler ve deiiklikler.

Yapan
A. Kaldiroglu
A. Kaldiroglu

Serbeste kullanlabilinir. www.javaturk.org

JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI 3







JavaTrk Java Kod simlendirme ve ekil Standard

Giri
Bu dokmanda, Java kodunda kullanlacak isimlendirme ve ekil (format)
standartlar sralanmtr.
Bu dokman serbeste kullanlabilir ve en gncel haline www.javaturk.org
adresinden eriilebilir.

1. Genel kurallar
1. Daima isimlendirme ve ekil standartlarna uy. Ne kendinin ne de bir
bakasnn isimleri ve format anlamak in enerji harcamasna sebep olma.
2. Daima (standarda uyarak) umulan ekilde kodunu yaz, asrtma. Standardn
dna kman gerektiinde bunu akla.
3. Programndaki her ey nce anlalr sonra kk-ksa olsun. Ama
kklk-ksalk iin anlalrl feda etme.
4. Hi bir projeye bu stadartlar kullanmadan baslama, balatma. Yanl
yaplan eylerin ileride dzeltilmesi ok zordur.

2. En temel ekil kurallar


1. Daima paragraf kullan. Kod yazarken parmaklarn sklkla format tularnda
olsun. Ne sen ne de bir bakasnn formatsz koda bakmasna izin verme.
2. Her satrda sadece bir cmle (statement) yaz.
Serbeste kullanlabilinir. www.javaturk.org

4 JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI



3. Uzun satrlar bir ka satra yay ki yatay scrolla ihtiya kalmasn.
4. Mekan rahat kullan: Mmkn olan her yerde boluk, , ve bo satr
kullanarak okunurluu arttr.
5. Ifadelerin eleri arasnda muhakkak boluk brak.
Byle yapma:
rs = a+b*((c/a)*b);
Byle yap:
rs = a + b * ((c / a)* b);

6. Bloklar mmknse { } ile deilse bo bir satr ile ayr. Blok kullanmak iin
sadece if-while-for gibi yaplar bekleme.
7. Zeka yarna girme, = dahil en az 3 operatrl ifadeleri anlamak
operatrlerin ncelik ve ilikilendirme bilgisine bal olmasn, parantez
kullan.
Byle yapma:
float rs = a + ++b * c/a * b;
a += b += c;
Byle de yapma:
rs = a + (++b)* ((c / a)* b);
Byle yap:
b++;
rs = a + b * ((c / a)* b);

b += c;
a += b;
8. Zincirleme ye eriimi ile birleik ifade yazma, her ifadede bir yeye eri.
Byle yapma:
customer.getCompany().getAddress().getStreet();
4

Serbeste kullanlabilinir. www.javaturk.org

JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI 5



Byle yap:
Company company = customer.getCompany();
Address address = company.getAddress();
Street street = address. getStreet();
Bu ekildeki zincirleme eriimin rahatlkla kullanlabileci tek yer web
katmanndaki View yaplar (JSP, JSF vb.) olabilir. BU yaplarda EL yardmyla
zincirleme eriim kolaylk salamaktadr.

3. Genel isimlendirme kurallar


9. Daima ngilizce isimler kullan ve kesinlikle yanl yazma, emin deilsen
szle bak.
10. Daima anlaml isimler kullan; uzun olsun, anlamsz olmasn.
addedValueTaxRate, getDefaultAccountInterestRate()
11. Okumay zorlatran (zellikle sesli harfleri atarak elde edilen) ksaltmalardan
kan.
qry yerine query, cstmr yerine customer kullan.
12. Tandk isimler kullan. Ayn eyler iin her yerde ayn ismi kullan.
13. sim verirken herhangi bir kodlama kullanma. rnein Hungarian
notasyonunu uygulayarak aadaki gibi isimler verme:
m_name, d_interest, l_increase
Bu durumun tek istisnas arayz isimlerindeki I olabilir.
14. Ksaltmalarda byk harflerle yazma.
Byle yapma:
hTTPSession, TCPIPConnection, getXMLNode(),
getHTTPMethod()
Byle yap:

Serbeste kullanlabilinir. www.javaturk.org


6 JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI



httpSession, TcpIpConnection, getXmlNode(),
getHttpMethod()

15. Tutarl ol. Ayn ismi sadece kk-byk harf ayrmyla ya da hem ksa hem
uzun ekliyle defalarca kullanma.
sqlQuery, sqlQry ya da session, ssn
16. simlendirmede daima Camel Case yaklamn kullan, alt izgiden _,
uzak dur. Camel Casein iki tr vardr, her ismin ba harfinin byk olduu
Upper Came Case (UCC) ile sadece ilk kelimenin ilk harfinin kk,
sonrasnn UCC olarak devam ettii Lower Camel Case (LCC).
StudentInformation is UCC
getAllStudents() is LCC
studentAddress is LCC

4. Paket isimlendirme kurallar


17. Paket isimlerine internet alan adnz tersinden yazarak bala.
tr.com.selsoft, org.javaturk

18. Paketlerini kk harfle yaz ve tek ve tekil isimler ver.


tr.com.selsoft.atm.domains
org.javaturk.designpattern.customers
19. Paket isimlerin, paket ierii hakknda bilgi versin.
tr.com.selsoft.atm.domain, org.javaturk.atm.view.bean

5. Tip isimlendirme kurallar


20. Snf, arayz, enumeration gibi tiplerin adlandrrken isim kullan ve UCC yaz.
6

Serbeste kullanlabilinir. www.javaturk.org

JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI 7



Account, CheckingAccountService, StudentInformation
21. Arayzleri adlandrrken daima isim ya da sfat kullan ve UCC yaz.
Payable, ActionListener
22. Bir konuyla ilgili zellikleri, sabiteleri ya da metotlar bir araya getiren tiplere
oul isim ver.
AtmProperties, StringUtils, ATMProperties

23. Enum tiplere tekil isimler ver.


Day, Month, Size

6. Deiken isimlendirme kurallar


24. Deiken adlandrmalarnda isim kullan ve daima LCC yaz.
count, firstName, taxRate, orderNumber
25. Torbalar iin oul isimler kullan.
Collection<Student> students
Map<Integer, Player> players
26. Boolean deikenler iin uygunsa edilgen fiil (ya da sfat-fiil) kullan yle ki
bana is getirildiinde anlaml bir soru olsun. Boolean deiken
isimlerinde is ya da are kullanma.
married, tankFilled, seatBooked, tasksFinished
Eer boolean deiken sahip olma durumunu gsteriyorsa ismin sonuna
Installed gibi bir son ek getirilebilir.
gasTankSensorInstalled, radioInstalled

Serbeste kullanlabilinir. www.javaturk.org


8 JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI



27. zellikler (properties) iin daima JavaBean (bean) gsterimini kullan. Bean
gsteriminde tm deikenler private (kaltm durumunda protected)
tanmlanr ve bunlara LCC olarak yazlm set/get metotlar ile ulalr:
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
Boolean deikenler iin getter olarak is n ekli metot kullanlr:
private boolean deceased = false;
public boolean isDeceased() {
return deceased;
}
public void setDeceased(boolean deceased) {
this.deceased = deceased;
}

28. Metotlardaki yerel deikenler iin nesne deikenleriyle ayn isimleri kullan
ve nesne deikenlerinie this ile ula.
29. Kurucu ya da set metotlarna nesne deikeni ile ayn isimde parametre
ge, nesne deikenine this ile ula. Bkz. #27
30. Ksaltlm ya da bir-iki harflk isimleri sadece sk kullanlan yerel deikenler
iin kullan.
Dng indexleri iin i, j
String s ya da String str
8

Serbeste kullanlabilinir. www.javaturk.org

JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI 9



stream iin in ve out, exception iin e ya da ex

31. CamelCase yaklamnn tek istisnas olarak sabitelerde (public, static ve


final) aralar alt izgi _ ile ayrlm byk harfli kelimeler kullan. Baka hi
bir isimde _ kullanma.
public static final double ADDED_VALUE_TAX = 0.18;
public static final String USERNAME = app;

7. Metot isimlendirme kurallar


32. Get/set metotlarn JavaBean gsterimiyle yaz. Bkz. #27
33. Metot isimlerinde daima emir kipi kullan ve LCC yaz.
calculateTax(), findOwnerOfAccount()

Serbeste kullanlabilinir. www.javaturk.org


1 JAVATURK JAVA KOD SMLENDRME VE EKL STANDARDI


0

Kaynaklar

Java Code Conventions September 12, 1997 (Oracle Java Code


Conventions
http://www.oracle.com/technetwork/java/codeconv-138413.html)

http://www.ambysoft.com/downloads/javaCodingStandards.pdf

http://www.ambysoft.com/downloads/javaCodingStandardsSummary.pdf

Google Style of Java


http://google-styleguide.googlecode.com/svn/trunk/javaguide.html

Al Vermeulen et al., The Elements of Java Style, CU Press, 2007

http://collaboratory.emsl.pnl.gov/docs/collab/sam/CodeStandards.html

http://www.ambysoft.com/downloads/javaCodingStandards.pdf

http://www.ambysoft.com/downloads/javaCodingStandardsSummary.pdf

http://www.javacodegeeks.com/2012/10/java-coding-conventionsconsidered-harmful.html

1
0

http://www.iwombat.com/standards/JavaStyleGuide.html

Unmaintainable Code http://mindprod.com/jgloss/unmain.html

Serbeste kullanlabilinir. www.javaturk.org

You might also like