ArÅŸiv

0, 2010 için arşiv

PMD ile kod analizi

Cumartesi, 24 Nis 2010 Yorum yapılmamış

Sadece Eclipse deÄŸil aynı zamanda diÄŸer bir çok IDE’ye de (JDeveloper, JBuilder, IntelliJ IDEA vs.) eklenebilen gayet faydalı bir eklentiden söz etmek istedim; PMD. Åžurada da bahsedildiÄŸi üzere PMD neyin kısaltması ola ki sorusunun bir sürü cevabı var, veya aslında yok. (Pretty Much Done, Project Mess Detector, Project Monitoring Directives vs.) Yaptığı iÅŸ Java kodunu tarayıp olası hatalara sebebiyet verecek kod parçalarını iÅŸaret etmekle kalmayıp bunların nasıl daha temiz, daha düzgün, daha okunur hale getirilebileceÄŸi konusunda öneriler getirmesi. Taradığı kural setlerinden birkaçını kabaca yazacak olursak;

* Daha iyi ve/veya daha az kodla ifade edilebilcek kod blokları
* Kullanılmayan değişken, parametre, metotlar
* Boş bırakılmış try/catch/finally/switch ifadeleri
* Fazlaca karmaşık, okunması zor ifadeler, metotlar
* Gereksiz if cümlecikleri, while ile değiştirilebilecek for cümlecikleri
* Kopya kod blokları
* Kopyala/yapıştır kaynaklı oluşabilecek hatalar
* Fazlaca uzun veya kısa isimlendirilmiş değişkenler, metotlar

Elbette bunların dışında Java kodunu değerlendirmeye tabi tuttuğu bir dolu kural seti var. Pratikte daha çok karşımıza çıkabilecek olanlardan bahsettim.

Bir iki örnek vermek gerekirse;

Query sınıfının getResultList() metotundan dönen liste değişkeninin içeriğini if(list.size()>0) gibi kontrol etmek yerine list.isEmpty() ile kontrol etsene,

veya String deÄŸiÅŸkenler için eÅŸitlik kontrolü yaparken (a diye String bir deÄŸiÅŸkenimiz olduÄŸunu varsayarsak) if(a.equals(“Ahmet”)) ÅŸeklinde kontrol etme arkadaÅŸ, if((“Ahmet”).equals(a)) diye kontrol ederek muhtemel null pointer hatalarından da sıyrılsan ya,

veya bir baÅŸka örnek BigDecimal tipinden bir deÄŸiÅŸkene new BigDecimal(“0”) ile deÄŸer atadığımız bir ifade için, arkadaÅŸ ne diye statik olarak zaten elinde var olan BigDecimal.ZERO ‘yu kullanmıyorsun ki diyebiliyor. Bu gibi örnekleri çoÄŸaltmak mümkün.

Eklentinin sahip olduğu kural setlerini Window->Preferences->PMD menüsünden düzenleyebiliyoruz da. Böylece hangi kuralı değerlendirmeye alacağını veya nasıl değerlendireceğini belirleyebiliyoruz. İşte efendim ben değişken isimlerini anlaşılır olması adına uzun yazarım, sen karışma benim işime, o yüzden sen beni ancak 20 karakterden daha uzun olarak isimlendirilmiş değişkenler için uyarıver diyebiliyoruz.

Merak edip denemek isteyenler için Eclipse ‘ e nasıl ekleyebileceÄŸimiz ÅŸurada anlatılmış.

Åžurada da PMD’nin sahip olduÄŸu kural setleri ayrıntılı bir ÅŸekilde izah edilmiÅŸ.

FacebooktwitterlinkedinmailFacebooktwitterlinkedinmail
Kategoriler:Eclipse Etiketler:,

Firefox eklentisi budaneki

Çarşamba, 07 Nis 2010 1 yorum

Yeni keÅŸfettiÄŸim çok şık bir firefox eklentisinden bahsedeyim. Ä°nternette gezinirken sık sık yeni bir sekme açıp Google, sözlük, vikipedia vesair kaynak sitede kelime arıyoruz. Bu eklenti bu iÅŸi çok basit hale getiriyor. Ãœstelik oldukça da seçenekli ve düzenlenebilir bir arama yapısı var. Eklentiyi ÅŸu adresten Firefox’a ekledikten sonra fare ile seçtiÄŸiniz herhangi bir kelimenin üzerinde bir buton beliriyor.

Açılan pencereden istediğiniz kaynaktaki sonucu görebilirsiniz.

Seçili metinin üzerinde buton belirmesinden rahatsız isek settings kısmından çalışma modunu değiştirebiliyoruz. Ghost modu ile fareyle seçili metnin üzerine tıklayınca, Hidden modu ile de fare ile metni seçtikten sonra arayacak olduğumuz sitenin adını yazmaya başladığımız anda budaneki butonunu aktif hale getirebiliyoruz.

Yine settings sayfasından kaynak siteleri düzenleyebiliyoruz. Yeni sürümünde eklenmiÅŸ olan bir güzelliÄŸi daha Google Translate desteÄŸi. Metni seçtikten sonra iki kere enter tuÅŸuna bastığımızda seçili metni otomatik olarak Google Translate’den gelen çevirisi ile deÄŸiÅŸtiriyor.

Güncelleme: Firefox 4 uyumlu sürümü şurada mevcut

FacebooktwitterlinkedinmailFacebooktwitterlinkedinmail
Kategoriler:Web Etiketler:,