Java 8 Sertifikasyonu (OCAJP 8) – Bölüm 1: Java’nın Temelleri

Bu birinci bölümden itibaren sınavda karşımıza çıkacak konulara değinmeye başlıyoruz. Verilen bilgilerin bazıları zaten bildiğiniz şeyler olacak, ancak bir sınava gireceğimizi ve pek çok yanıltıcı soru olacağını unutmayalım. Bazılarına önceleri benim de dikkat etmediğim, sınavda çeldirici olabilecek bazı özel noktaları “DİKKAT!” etiketiyle belirtiyorum. Verilen bilgilerin çoğunu bu kategoriye girmeye aday olanlardan seçmeye çalıştım. Eğer tamamını okumaktan sıkılırım diyorsanız sadece “DİKKAT!” etiketli kısımları okuyabilirsiniz.

Java Sınıf (Class) Yapısı

  • Java sınıflarının iki temel elemanı vardır: metotlar (methods) ve alanlar (fields).
  • Bunlara aynı zamanda sınıfın üyeleri (members) da denir.
  • Metotlar fonksiyon (function) yada prosedür (procedure) olarak da ifade edilebilir.
  • Alanlar değişkenler (variables) olarak da bilinir.
  • Alanlar sahip oldukları değerler itibariyle sınıf örneğinin (instance) durumunu (object’s state) belirlerken, metotlar sınıf örneğinin durumu üzerinde işlem (operation) yapar ve sınıfın davranışlarını tanımlar.
  • Bir sınıf bu sınıf üyelerinin hiçbirini barındırmayabilir, yada birini veya her ikisini barındırabilir. Yani şu üçü de geçerli sınıf tanımlarıdır:
class Animal {
}
class Animal {

    String name;

}
class Animal {

    String name;

    public String getName() {
        return name;
    }

    public void setName(String newName) {
        name = newName;
    }

}
  • Bir başka sıklıkla karşımıza çıkan kod parçaları ise yorumlardır (comments). Yorumlar kod içerisine eklediğimiz açıklamalardır ve derleyici (compiler) tarafından dikkate alınmaz. Tek satırlı, çok satırlı ve Javadoc tipinde yorumlar mevcuttur:

Okumaya devam et

Reklamlar

Java 8 Sertifikasyonu (OCAJP 8) – Bölüm 0: Giriş

Java 8 sertifikasyon sınavına (OCAJP 8) hazırlanırken aldığım notlardan derlemelerimi içeren yazı dizisine hoş geldiniz. 5 yıldan uzun süredir Java programlama dili ile geliştirme yapan birisi olarak burada paylaşacağım notlar haliyle daha çok “highlights” (önemli noktalar) tadında olacak.

java8-logo

Lafı uzatmadan…

OCAJP 8 nedir?

  • Açılımı “Oracle Certified Associate, Java SE 8 Programmer”.
  • Oracle Sun’ı satın almadan ve kapsamını bölerek iki ayrı sertifikasyon programı haline getirmeden önceki adı “Sun Certified Java Programmer (SCJP)” olan sertifikasyon programının birinci aşaması.
  • Java’nın temel/görece basit konularının ele alındığı bu programın bir büyüğü ise OCAJP 8 (Oracle Certified Professional, Java SE 8 Programmer)
  • Bu iki program da Java SE konularını kapsamaktadır ve Java EE ile ilgili sertifikasyon programlarının ön koşuludurlar.
  • Kapsamı, giriş ücreti (şu sıralar 798 TL / 210$ civarı) ve sınav merkezi lokasyon bilgisi için (Türkiye’de pek çok test merkezi mevcut): http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-808

OCAJP 8 konuları?

Okumaya devam et

Başı-Boş Satırlar – IntelliJ ile Bahar Temizliği – Bölüm 2

Geçenlerde IntelliJ’de tek bir hamlede tüm Java kodumuzun biçimsel düzenini sağlamanın yöntemine göz atmıştık: Kodunuza İyi Bakın – IntelliJ ile Bahar Temizliği

Şimdi ise Java kodumuzdaki tüm gereksiz boş satırları silmenin yolarına göz atacağız. Birinci bölümdeki yöntemi uyguladıktan sonra “Edit > Find > Replace in Path…” özelliğini uygun regexler ile kullanarak şunlardan kurtulabiliriz:

Kodun herhangi bir yerinde yer alan ard arda iki boş satırdan…

Text to find:
\n\n\n

Replace with:
\n\n

Metot gövdesi başlangıcındaki boş satırdan…

Text to find:
\) \{\n\n

Replace with:
\) \{\n

Metot gövdesi sonundaki boş satırdan…

Text to find:
;\n\n    }

Replace with:
;\n    }

Kodunuza İyi Bakın – IntelliJ ile Bahar Temizliği

Java derleyicisi kodunuzu biçimsel olarak nasıl düzenlediğinize karışmaz, kodunuzun derlenebilmesi için Java söz dizim kurallarına uymanız yeterlidir. Ancak kodunuzun okunabilir olması için kodunuzun biçimlendirmesine (format) dikkat etmeniz gerekir. Özellikle birden fazla kişinin çalıştığı büyük/orta ölçekli projelerde okunabilir kod eşittir bakımı yapılabilir kod denebilir.

Elbette kodun biçimsel düzeni okunabilir/anlaşılabilir kodun tek ön koşulu değil, yine de özenli olma yolunda iyi bir başlangıç olacaktır. (Yeri gelmişken okunabilir/anlaşılabilir kod yazmak üzerine müthiş tavsiyelerde bulunan şu kitaba göz atmanızı şiddetle tavsiye ederim: Clean Code: A Handbook of Agile Software Craftsmanship. Ya da şu yazı dizisine bir bakın derim: Clean Code’dan Notlar: Bölüm 1 — Temiz Kod Derken?)

Özellikle birden fazla kişinin çalıştığı projelerde zaman zaman acele yetişmesi gereken işlerden, kafa dağınıklığından yada basitçe kişisel ihmalden kaynaklı olarak -kodun hacminin de büyümesiyle- kodun biçimsel düzeni bozulmaya başlar. İşte burada bu bozuklukları topluca düzenlemede kullanabileceğiniz basit bir yöntemden bahsedeceğim. Favori Java editörüm olan IntelliJ IDEA‘da şu iki adımla tüm *.java dosyalarımızı topluca düzene sokmamız mümkün:

Adım 1: Tüm Java sınıflarımızı barındıran “src” dizinine (başka türde dosyalar da içerebilir elbette) sağ tıklayıp “Reformat Code” seçeneği seçilir:

reformat-them-all-step-1

Adım 2: Açılan “Reformat Code” penceresinde aşağıdaki seçenekler uygulanıp “Run” denilerek, tüm *.java dosyalarımızın düzenlenmesi yanında kullanılmayan ‘import’ deyimlerinden de arındırılması sağlanır:

reformat-them-all-step-2

“Sonra”, “Asla” Demektir

Düzenli olmak, yapılacakları planlamak, yapılacak “çok şey” olduğunda yapılacak en mantıklı harekettir (?) Eee ben de kendi çapında mantıklı ve yapacak çoook şeyleri olan bir birey olarak yapacaklarımı/yapmak istediklerimi yazacağım, unutmamak için kenara not edeceğim bir yapılacaklar listesine sahip olmadığım bir hayat düşünemezdim elbette.

Yapılacaklar Listesi Meydan Muharebesi

Not defterime kalemle yazarak oluşturduğum ilk “TODO list”imi kısa bir zaman sonra-mesleğimin de gereği olarak- elektronik ortama taşıdım. Daha sonra listem o kadar şişti ki düzeni yeniden tesis etmek üzere işe önce kullandığım araçta (Google Keep) farklı konulara özel farklı başlıklı yapılacaklar listeleri oluşturarak düzenli olmak için oluşturduğum yapılacak listemi düzenleyerek başladım (!)

“TODOs – günlük”, “TODOs – genel”, “expercise TODOs”, “n11 TODOs” yapılacak listelerimden sadece birkaçı.

Çok fazla yapılacak olunca önceliklendirme de yapmak gerekiyor elbet. Bazı listelerin Google Keep’te üste çıkarılması, listelerdeki öncelikli maddelerin liste içinde yukarılara taşınması, bazı acil olanlarının yapışkanlı not kağıtları üzerine yazılıp sürekli göz önünde tutulması…

Zurnanın “ZIRT” dediği yer

Geçen dedim ki kendi kendime, “Ya bu listelere yazıp yazıp duruyorum ama baya şişti bu listeler, bir göz atsam aslında bir çoğu geçerliliğini yitirmiştir bile çoktan. Oturup yarım saat bi’ saat elden geçireyim şunları… (ZIRT)”

Siz de duydunuz değil mi “ZIRT” sesini.

“Later equals never.”

Üniversitedeyken sanırım bir yerlerden duymuş yada okumuştum:

Later equals never.

LeBlanc’s Law

Yani “sonra”, “asla” demektir.

Öyle bir hale gelmiş ki yapılacaklar listelerim, artık “asla” yapmayacağım bazı şeylerle dolup taşmış. Sonra yapmak üzere not aldığım şeyleri “sonra” unutmuşum, hatta bazılarını ne amaçla hangi kafayla not aldığımı dahi unutmuşum.

Bir ara Google Keep’teki her şeyi silip, tek bir not içine “Later equals never.” yada “Just do it.” yazmayı düşündüm. Boş sınav kağıdına “Risk budur.” yazıp çıkan öğrenci gibi çok havalı olacağımı düşündüm. Öyle ya, bir yanlışı ortaya koy ve tüm benliğinle tam karşısında dur.

“Suçumuz neydi bizim?” (AYNA’dan gelsin)

Suç benim miydi? Çok fazla şey yapmak isteyip bir çoğunu ertelememde miydi? Yada eriyen kar sularının gazına gelmiş nehir gibi akan zamanın mıydı?

Zaman herkes için aynı hızda aktığına göre tabikisi suç benimdi beybiler.

Bir Barış ve Aydınlanma Çağı

“Yapılacaklar Listesi Meydan Muharebesi” ardından Orta Dünya’da yeni bir barış ve aydınlanma çağı başlar. Gandalf ve Galadriel emekli olup Ege’ye yerleşir ve hayallerindeki bi’ çiftliği inşa ederler. Frodo ve beraberindeki tüm Hobit’ler ise yapılacaklar listelerini Hüküm Dağı’nın alevinde yakıp bir bir Sam’in düğününe koşturur…

Yüzüklerin Efendisi: Kralın Dönüşü, Kayıp Son Sayfa

İlk iş yapılacaklar listelerimi “iki” listeye indirgedim:

  1. Yapılacaklar
  2. Yapmak istediklerim

Sonra “Yapmak istediklerim” listesindeki her şeyi sildim (!) Evet evet yanlış okumadınız. “X kitabını oku” yada “Kitap oku” yada “Daha fazla bisiklete bin” yada “Kilo ver” yada “Kendi işini kur”… Bunların hiçbirinin yapılacaklar listelerinde işi yok. Bunlar “o an” yapılmaya başlanması gereken şeyler. Bazıları sonlu, bazıları bir ömür sürecek istekler/hayaller/dilekler/temenniler. Ama hepsi de “o an” başlanabilecek/bir ucundan tutulabilecek şeyler.

Ve eğer bir şeyi unutmamak, kendimize hatırlatmak için not almamız gerekiyorsa, belki de hiçbir zaman yapmamamız gereken bir şeydir (?)

Hayat her şeyi yapmak için çok kısa, ama yine de “çok şey” yapabiliriz. Hemen yapmaya başla(yalım).