JavaTürk. Java Kod İsimlendirme ve Şekil Standardı

Benzer belgeler
JavaTürk. Java Kod İsimlendirme ve Şekil Standardı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

BİL-141 Bilgisayar Programlama I (Java)

HSancak Nesne Tabanlı Programlama I Ders Notları

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Sunum İçeriği. Programlamaya Giriş

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

Ders 8: Metotlar. barisgokce.com

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne Yönelimli Programlama

C# Metotlar ve Metot Tanımlama

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

MOBIL UYGULAMA GELIŞTIRME

NESNEYE YÖNELİK PROGRAMLAMA

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Programlama Dillerinde Kullanılan Veri Tipleri

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Üst Düzey Programlama

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Spring Framework Eğitimi

Android Ders Notları

5. Bölüm Alt Sınıflar (Nested Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Programlama Dili Prensipleri. Lab Notları 4

Klavyeden Basit Giriş/Çıkış İşlemleri

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Baleybelen Müfredatı

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

YZM 2105 Nesneye Yönelik Programlama

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Lambda İfadeleri (Lambda Expressions)

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama

Karşılaştırma İşlemleri ve Koşullu İfadeler

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Nesne Yönelimli Programlama

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Operator Aşırı Yükleme (Operator OverLoading)

Java da Program Denetimi ve Operatörler


Nesneye Dayalı Programlama

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Nesne Yönelimli Programlama

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Java Kodunuzun Nesne-Merkezli Olmadığının 10 İşareti

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Erişim konusunda iki taraf vardır:

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

Mantıksal İşlemler. 7.1 true, false, nil

YZM 2105 Nesneye Yönelik Programlama

// hataları işaret eden referans

C Programlama Dilininin Basit Yapıları

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {...

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

7. HAFTA. Erişim Belirleyiciler

Transkript:

JavaTürk Java Kod İsimlendirme ve Şekil Standardı Akin Kaldiroglu akin@javaturk.org

2 JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI İçindekiler Giriş... 3 1. En temel şekil kuralları... 3 2. Genel isimlendirme kuralları... 4 3. Paket isimlendirme kuralları... 5 4. Tip isimlendirme kuralları... 5 5. Değişken isimlendirme kuralları... 6 6. Metot isimlendirme kuralları... 7 Kaynaklar... 8 Değişiklik Geçmişi Tarih Açıklama Yapan 24 Mart 2014 İlk oluşturma. A. Kaldiroglu 2 Serbestçe kullanılabilinir. www.javaturk.org

JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI 3 JavaTürk Java Kod İsimlendirme ve Şekil Standardı Giriş Bu dokümanda, Java kodunda kullanılacak isimlendirme ve şekil (format) standartları sıralanmıştır. Bu doküman serbestçe kullanılabilir ve en güncel haline www.javaturk.org adresinden erişilebilir. 1. En temel şekil kuralları 1. Daima paragraf kullan. Kod yazarken parmakların sıklıkla format tuşlarında olsun. 2. Her satırda sadece bir cümle (statement) yaz. 3. Uzun satırları bir kaç satıra yay ki yatay scrolla ihtiyaç kalmasın. 4. Mekanı rahat kullan: Mümkün olan her yerde boşluk,, ve boş satır kullanarak okunurluğu arttır. 5. Blokları mümkünse { } ile değilse boş bir satır ile ayır. 6. Zeka yarışına girme, = dahil en az 3 operatörlü ifadeleri anlamak operatörlerin öncelik ve ilişkilendirme bilgisine bağlı olmasın, parantez kullan. Böyle yapma: float rs = a + ++b * c/a * b; a += b += c; Serbestçe kullanılabilinir. www.javaturk.org 3

4 JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI Böyle yap: rs = a + (++b)* ((c / a)* b); b += c; a += b; 7. Zincirleme üye erişimi ile birleşik ifade yazma, her ifadede bir üyeye eriş. Böyle yapma: customer.getcompany().getaddress().getstreet(); Böyle yap: Company company = customer.getcompany(); Address address = company.getaddress(); Street street = address. getstreet(); 2. Genel isimlendirme kuralları 8. Daima İngilizce isimler kullan ve kesinlikle yanlış yazma, emin değilsen sözlüğe bak. 9. Daima anlamlı isimler kullan; uzun olsun, anlamsız olmasın. addedvaluetaxrate, getdefaultaccountinterestrate() 10. Okumayı zorlaştıran (özellikle sesli harfleri atarak elde edilen) kısaltmalardan kaçın. 11. Tanıdık isimler kullan. Aynı şeyler için her yerde aynı ismi kullan. 12. Kısaltmalarda büyük harflerle yazma. Böyle yapma: httpsession, TCPIPConnection, getxmlnode(), gethttpmethod() Böyle yap: httpsession, TcpIpConnection, getxmlnode(), gethttpmethod() 4 Serbestçe kullanılabilinir. www.javaturk.org

JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI 5 13. Tutarlı ol. Aynı ismi sadece küçük-büyük harf ayrımıyla ya da hem kısa hem uzun şekliyle defalarca kullanma. sqlquery, sqlqry ya da session, ssn 14. İsimlendirmede daima Camel Case yaklaşımını kullan, alt çizgiden _, uzak dur. Camel Case in iki türü vardır, her ismin baş harfinin büyük olduğu Upper Came Case (UCC) ile sadece ilk kelimenin ilk harfinin küçük, sonrasının UCC olarak devam ettiği Lower Camel Case (LCC). StudentInformation is UCC getallstudents() is LCC studentaddress is LCC 3. Paket isimlendirme kuralları 15. Paket isimlerine internet alan adınızı tersinden yazarak başla. tr.com.selsoft, org.javaturk 16. Paketlerini küçük harfle yaz ve tek ve tekil isimler ver. tr.com.selsoft.atm.domains org.javaturk.designpattern.customers 4. Tip isimlendirme kuralları 17. Sınıf, arayüz, enumeration gibi tiplerin adlandırırken isim kullan ve UCC yaz. Account, CheckingAccountService, StudentInformation 18. Arayüzleri adlandırırken daima isim ya da sıfat kullan ve UCC yaz. Payable, ActionListener Serbestçe kullanılabilinir. www.javaturk.org 5

6 JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI 19. Bir konuyla ilgili özellikleri, sabiteleri ya da metotları bir araya getiren tiplere çoğul isim ver. AtmProperties, StringUtils 20. Enum tiplere tekil isimler ver. Day, Month, Size 5. Değişken isimlendirme kuralları 21. Değişken adlandırmalarında isim kullan ve daima LCC yaz. count, firstname, taxrate, ordernumber 22. Torbalar için çoğul isimler kullan. Collection<Student> students Map<Integer, Player> players 23. Boolean değişkenler için uygunsa edilgen fiil (ya da sıfat-fiil) kullan öyle ki başına is getirildiğinde anlamlı bir soru olsun. Boolean değişken isimlerinde is ya da are kullanma. married, tankfilled, seatbooked, tasksfinished Eğer boolean değişken sahip olma durumunu gösteriyorsa ismin sonuna Installed gibi bir son ek getirilebilir. gastanksensorinstalled, radioinstalled 24. Özellikler (properties) için daima JavaBean (bean) gösterimini kullan. Bean gösteriminde tüm değişkenler private (kalıtım durumunda protected ) tanımlanır ve bunlara LCC olarak yazılmış set/get metotları ile ulaşılır: private String name; public String getname() { 6 Serbestçe kullanılabilinir. www.javaturk.org

JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI 7 return name; } public void setname(string name) { this.name = name; } Boolean değişkenler için getter olarak is ön ekli metot kullanılır: private boolean deceased = false; public boolean isdeceased() { return deceased; } public void setdeceased(boolean deceased) { this.deceased = deceased; } 25. Sık kullanılan yerel değişkenler için aynı kısaltmaları kullan. String s ya da String str stream için in ve out, exception için e ya da ex 26. Kurucu ya da set metotlarına nesne değişkeni ile aynı isimde parametre geç, nesne değişkenine this ile ulaş. Bkz. #24 27. CamelCase yaklaşımının tek istisnası olarak sabitelerde (public, static ve final) araları alt çizgi _ ile ayrılmış büyük harfli kelimeler kullan. Başka hiç bir isimde _ kullanma. public static final double ADDED_VALUE_TAX = 0.18; 6. Metot isimlendirme kuralları 28. Get/set metotlarını JavaBean gösterimiyle yaz. Bkz. #24 Serbestçe kullanılabilinir. www.javaturk.org 7

8 JAVATURK JAVA KOD İSİMLENDİRME VE ŞEKİL STANDARDI 29. Metot isimlerinde daima emir kipi kullan ve LCC yaz. calculatetax(), findownerofaccount() 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://googlestyleguide.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 http://www.iwombat.com/standards/javastyleguide.html 8 Serbestçe kullanılabilinir. www.javaturk.org