Merhabalar arkadaşlar.

Bu yazıda Java projesi geliştirirken Eclipse IDE üzerinde kod kalitesini arttırmaya yardımcı olan Sonar eklentisinin Eclipse IDE üzerinde kurulum ve basitçe kullanımı konusunu anlatmaya çalışacağım. Basitçe bir kaç örnekle de Sonar’ın analizini örneklendirmeye çalışacağım.

İlk olarak Eclipse’de Help -> Eclipse Marketplace Eclipse’in mağazasını açalım ve arama kutusuna Sonar yazalım. Go butonuna tıklayarak aratalım.

Arama işleminin ardından SonarLint 2.4.0 eklentisini Install butonuna tıklayarak IDE’mize kuralım. Sürüm sizin bu yazıyı okuduğunuz zamanda değişebilir.

Bu ekranda ikisini de işaretleyelim.

Bu ekranda da şartları kabul edip Finish butonuna tıklayalım.

Eclipse bir süre sürecek şekilde eklentiyi kuracak. Kurulum işlemi bittiğinde Eclipse sizden IDE’yi Restart etmenizi isteyecek. IDE’yi yeniden başlatın.

Şimdi bir proje açın ve main metodunu barındıran bir Java sınıfı oluşturun. Sonar hemen analiz yapmaya ve sizi kod kalitesini arttırmaya yöneltmeye başlayacak. Şu resimden de görebileceğiniz gibi Sonar Sonar analiz yaparken sorunlu gördüğü bölgelerin altını mavi bir çizgi ile çizip size düzeltmeniz gerektiğini söyleyecek.

Eclipse’in hızlı ulaşım kutucuğu olan arama kutusuna SonarLint yazıp SonarLint Issues tabını açın. SonarLint bu tabda düzeltilmesi gereken yerleri söylüyor olacak.

Yukarıdaki mesela iki adet düzeltilmesi gereken şey olduğunu söylüyor. Birinci madde main metodu boş ve en azından yorum satırları ile niye metodun boş olduğunu bildir diyor.

İkinci madde ise her Java sınıfında default olarak üretilen public constructor yerine private bir constructor bir yaz.

Ben bunları yaptığımda Sonar’ın iki uyarısı da gitti.

Java’da JDK tarafından şart koşulmayan ama de-facto bir şekilde kodlama standartı olmuş şeyler vardır. Örneğin sınıf isimleri büyük harfle başlar, metot ve değişken isimleri küçük harfle başlar gibi. Şimdi bunları yaptığımızda Sonar bir tepki veriyor mu bakalım.

sonarTutorialClass isminde küçük harfle başlayan bir sınıf, ismi büyük harfle başlayan bir method, ismi büyük harfle başlayan bir değişken ve bir de System.out kullanıyoruz.

SonarLint Issues kısmında 4 adet düzeltilmesi gereken yer olduğunu görüyoruz.

  • Birinci madde System.out ya da System.err gibi şeylerin loglama yapmamız gerektiğini söylüyor.
  • İkinci madde local değişkenlerin adlarının küçük harfle başlaması gerektiğini ve bu yönde düzeltme yapmamızı söylüyor.
  • Üçüncü madde metot adlarının küçük harfle başlaması gerektiğini ve bu yönde düzeltme yapmamızı söylüyor.
  • Dördüncü madde sınıf isimlerinin büyük harfle başlaması gerektiğini ve küçük harfle başlaması gerektiğini ve bu yönde düzeltme yapmamızı söylüyor.

Şimdi bu dediklerini düzenleyelim ve Sonar’ın analizine bırakalım. Gördüğünüz gibi hatalar gitti.

Bu şekilde kodunuzun içerisinde derleme zamanı için hatalı olmayan ama düzeltilmeye ihtiyaç duyulan kodları Sonar eklentisi ile görüp iyileştirebiliriz. Tabii benim yukarıda verdiğim örneklerin basit olduğunu düşünebilirsiniz ancak Sonar’ın çalıştığını örneklemek amacı ile verdim. Bir yazılım geliştirme sırasında çok daha çeşitli durumlar ile karşılaşabilir, Sonar ile durumların farkında olabilirsiniz.

Başka bir yazıda görüşene kadar sağlıcakla kalın.

Selam ve Sevgilerimle