Yazılımcının Verimliliğini Artıran Eclipse Ayarları

Çoğu projede yazılım geliştirme ortamı olarak Eclipse’i kullanıyorum. Bu yazımda yazılım yaparken verimliliğimi artırdığını düşündüğüm Eclipse ayarlarını sizinle paylaşmak istiyorum. Kullandığım Eclipse sürümü 4.3.1 Kepler.

Hiç sevmediğim bir şey varsa, o da formatsız koddur. Bir Eclipse editöründeki bir kodu CTRL+SHIFT+F ile formatlamak mümkün. Ama bunu yazılımcı değil, Eclipse otomatik olarak yapmalı.

Bu ayarı Window –> Preferences –> Java –> Editor –> Save Actions bölümünde yapabiliriz.

Resim 1

Prefecences panelini açtıktan sonra üst kısımda yer alan arama alanına save kelimesini girmeniz, resim 1 de yer alan ekrana ulaşmanızı sağlayacaktır. Kodu otomatik formatlamak için Perform the selected actions on save kutusunun işaretli olması gerekiyor. Bu kutuyu işaretledikten sonra diğer opsiyonlar aktif hale gelir. Kodu formatlamak için Format source code kutusunu işaretlemek yeterli olacaktır.

Save Actions panelindeyken diğer gerekli gördüğüm ayarları da yapalım isterim.

Bu paneldeki Additional actions kutusunu işaretleyelim ve Configure butonuna tıklayalım. Karşımıza resim 2 de yer alan panel çıkacaktır.

Resim 2

Code Style tabındayız. Ben burada Use blocks in if/while/for/do statmens –> Always ayarını kullanıyorum. Şu şekilde bir if bloğu oluşturduğumda

if(i>0)
    doIt();

bu Eclipse tarafından otomatik olarak şu şekilde formatlanır.

if(i>0){
    doIt();
}

Buradaki maksat tek satırlık if/while/for/do yapılarını küme parantezi kullanarak bir blok haline getirmektir. İlk başlarda ben bu tür tek satırlık yapılarda küme parantezlerini kullanmazdım, çünkü bu bana koddan bir satır tasarruf etmemi sağlardı. Lakin sonraları çalıştığım birçok projede firma yazılım geliştirme politikası olarak küme parantezlerinin kullanılması koşulunu takip etme zorunluluğu doğduğundan ve Sonar gibi statik kod analizi araçlarının küme parantezi olmayan bloklardan hoşlanmadıklarından, ben de tek satırlık yapılarda küme parantezleri kullanmaya başladım. Bu bir alışkanlık meselesi. Çok kısa zamanda insan kullandığı yeni yapılara alışıyor ve bırakmak istemiyor. Bunu bir mezhep kavgasına dönüştürmenin bir anlamı yok anlayacağınız ;-)

Yazdığım kodda sınıfların, metotların, değişkenlerin, metot parametrelerinin ve metot gövdesinde kullanılan değişkenlerin mümkün mertebe final olmalarına dikkat ederim. Final olan yapılar genel olarak değiştirilemez olduklarından, istenmeden değiştirilmeleri mümkün değildir. Örneğin final olan bir değişkene yeniden bir değer atanamaz. Paralel çalışan (multi threaded) bir uygulamada final olan yapılar threadlar arasında sıkıntı olmadan paylaşılabilir.

Ben eğer şöyle bir metot yazdı isem

public void doIt(int i) {
    int y = i;
    System.out.println(y);
}

bu metodun Eclipse tarafından şu şekilde formatlanmasını arzularım:

public void doIt(final int i) {
    final int y = i;
    System.out.println(y);
}

Bunun Eclipse tarafından yapılması sağlamak için resim 2 de yer alan Use modifier final where possible kutusunun işaretlenmesi gerekmektedir. Burada üç seçenek bulunmaktadır. Eğer private olan değişkenlerin final olmasını istiyorsak Private fields, metot parametrelerinin final olmasını istiyorsak Parameter ve metot gövdesindeki değişkenlerin final olmasını istiyorsak Local variables seçeneğini aktif hale getiriyoruz.

Resim 3,4 ve 5 de Additional Save Actions panelindeki ayarlarım yer alıyor.

Resim 3

Resim 4

Resim 5

Resim 5 de yer alan Remove unused imports seçeneği koddan kullanılmayan import direktiflerinin silinmesini sağlamaktadır. Bir Java sınıfı bünyesinde zaman içinde import direktifleri ile birçok sınıf kullanılır. Bu sınıf yeniden yapılandırıldığında kullanımda olan bazı sınıflar ihtiyaç dışı kalabilir. Yazılımcılar genelde bu şekilde kullanım dışı kalan import direktiflerini görmediklerinden koddan uzaklaştırmazlar. Ben böyle bir sınıfı editörüme yüklediğimde yaptığım ilk kayıt işlemi (save) ile kullanım dışı olan tüm import direktifleri koddan silinir ve kod formatlanır.

Faydalı bulduğum diğer bir ayar ise, hangi küme parantezi bloğunda olduğumu doğrudan görebilmektir. Resim 6 da hangi blok içinde isem, o bloğun küme parantezleri öne çıkmış durumda. Bu ayarı yapmak için resim 7 de görülen Editor paneline gitmemiz ve orada Bracket highlighting seçeneklerinden Enclosing bracket seçeneğini seçmemiz gerekiyor. Bu bizim içinde bulunduğumuz kod bloğunu doğrudan görmemizi sağlayacaktır.

Resim 6

Resim 7

Java’da biliyorsunuz satır sonunda ; işaretini kullanma zorunluluğu var. Bunu da Eclipse bizim için yapabilir. Resim 8 de yer alan Automatically insert at correct position {} ve ; işaretlerinin doğru yerlerde Eclipse tarafından koda eklenmesini sağlamaktadır.

Resim 8

Eclipse altında CTRL+F11 tuşlarına bastığınızda bir uygulamayı koşturabilirsiniz. Genelde ben bir uygulamayı test ederken bu tuş kombinasyonunu şıkça kullanıyorum. Lakin kaynak kod üzerinde yaptığım değişiklikler CTRL+F11 tuşlarına bastığımda otomatik olarak kaydedilmiyor ve böylece yaptığım değişiklikler koşturduğum uygulamaya yansımıyor. Ayrıca CTRL+F11 her zaman en son koşturduğum uygulamayı koşturmayabilir. Uygulamayı koşturmadan önce değişiklikleri kaydetmek ve uygulamayı yeniden derlemek için resim 9 da yer alan ayarların yapılmasında fayda vardır.

Resim 9

Ne zaman iyi bir yazılımcı oluruz? Kullandığımız yazılım geliştirme ortamına sunduğu birçok kısa yol tuşlarıyla hakim olduğumuz zaman, çünkü bu bizim yazılımcı olarak verimliliğimizi artırır.


EOF (End Of Fun)
Özcan Acar

Share Button
0.00 avg. rating (0% score) - 0 votes

9 Comments

  • Pingback: Yazılımcının Verimliliğini Artıran Eclipse Ayarları [ÖZCAN ACAR] | MC

  • Egemen Mede

    01 Ocak 2014

    Harika bir yazı hocam. Elinize sağlık.

  • Ahmet Burak Demirkoparan

    01 Ocak 2014

    Android geliştiriyorum ama çoğu gerçekten işe yarar şeyler çok teşekkürler hocam.

  • Enes

    01 Ocak 2014

    her local değişkeni final olarak editöre formattırmak sıkıntılar çıkarabilir, aşağıdaki kodun run edilmesi ile nedemek istedimi anlıyacaksınız. bkz [JLS 15.25]
    char x = ‘X’;
    final int i = 89;
    System.err.println(false ? x : i);

  • Enes

    01 Ocak 2014

    söylemeyi unuttum, aynı kodu i değişkenini final olarak deklare etmediğimizde java spec. te belirtildiği gibi farklı çıktılar ürettiğini göreceksiniz

  • Özcan Acar

    02 Ocak 2014

    Bu testlerle kesfedilebilecek bir durum. Testlerle tespit edilebilecek bir hata icin final kullanimindan vazgecilmesi dogru olmaz kanaatindeyim.

  • Emrah Eker

    07 Ocak 2014

    Özcan hocam,

    harika bir yazi. Ayarlarin hepsini sayenizde yaptik. Simdiden cokca faydasini gördük :-) Tesekkürler paylasimlariniz sahsim adina bana cok yardimci oluyor. Keske bütün programcilar sizin gibi olsa da daha cok sey ögrenebilsek. Saygilar…

  • Selman Gün

    11 Nisan 2014

    Çok faydalı bir yazı. Teşekkürler

  • Ömer Özkan

    06 Mayıs 2014

    Selamlar

    Ayarlarınızı uyguladım fakat anotasyonlar ile ilgili bir sorun yaşadım. Anotasyonları zorunlu olarak tek satır haline getiriyor. Uzun yazılan anotasyonlar için tek satırda 80 karakteri aşabiliyor.

    Bu durumu düzeltmek için

    Windows -> Preferences -> Java -> Code Style -> Formatter -> Edit ‘e tıkladıktan sonra Line Wrapping sekmesinden Annotations -> Element-value pairs ‘e tıklayıp Line wrapping policy değeri için Wrap where necessary seçeneği seçilmelidir.

Bir Cevap Yazın