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:,