Sayfalar

21 Temmuz 2010 Çarşamba

Checkstyle Plug-in - Kodunuza Ayar Çekin!

CMMI, Yetenekte Olgunluk Modeli Entegrasyonu anlamına gelen "Capability Maturity Model Integration" teriminin başharflerinden oluşan bir kısaltmadır. CMMI, çok geniş bir alana yayılmış organizasyon faaliyetlerindeki süreçleri daha iyiye götürüp geliştirmeye yönelik yöntemler içerir. Ağırlık verdiği alanlar Mühendislik, Geliştirme, Edinim ve Hizmetler'dir. Carnegie Mellon Üniversitesi'ne bağlı Yazılım Mühendisliği Enstitüsü (SEI) tarafından geliştirilen, kabul ettirilen ve sürekli olarak yenilenen CMMI için Savunmada İleri Araştırma Projeleri Kuruluşu (DARPA) maddi kaynak sağlar. (kaynak:http://www.itgonline.com/Languages/tr/faq.html)

Eğer sizin sahibi olduğunuz şirketiniz veya çalıştığınız şirket CMMI standardlarını sağlamayı amaçlıyorsa, bilin ki geliştirdiğiniz projelerin kodlarının belli bir standarda göre yazılmış olması gerekmektedir. Metodların private, public, static olmasına göre sıralanmaları, class, paket,interface isimlendirmeleri, yorumlar gibi birtakım standardlardan oluşur bahsettiğim zımbırtı. Belki bu standardlardan çoğunun gerekliliğini tartışırım ama bu iş böyle yürüyor demekki:)

Her neyse, diyelimki böyle bir zorunluluğunuzda yok ama kodunuzu belirlediğiniz bir standarda göre yazmak istiyorusunuz ve buna uymayan yerleri görmek istiyorsunuz. Ben ilk bahsettiğim nedenden dolayı bu işi çözmek için araştırdım ve Eclipse'in checkstyle plug-ininin işimi görebileceğini düşündüm.

Kendi sayfasından da ayrıntılı bilgiye ulaşabileceğiniz plug-in imiz ihtiyaç duyanlar için kullanışlı. Plug-ini yüklemek için 2 yol var. Birincisi http://sourceforge.net/projects/eclipse-cs/ sitesinden plug-ini indirip sıkıştırılmış dosyadan çıkarıyoruz. Çıkardığımız dosyayı eclipse klasörünün içindeki "plugins" dosyasına kopyalıyoruz. Bu işlemi yaptıktan sonra Eclipse mizi yeniden başlatmamız gerekecek. Eclipse i tekrar başlattıktan sonra plug-inin kontrolü için Eclipse araç çubuğundan windows->preferences'e gidip soldaki kutuda Checkstyle'ı görüyorsak yükleme başarıyla gerçekleşmiştir.

Diğer yol ise şu şekilde; yine Eclipse'in araç çubuğundan help->install new software'a gidip "type or select a site" yazan kısma http://eclipse-cs.sourceforge.net/update linkini yapıştırıyoruz.
Program, verdiğimiz linkten plug-inimizi bulunca yanındaki minik kutuya tik atıp "next" diyoruz. Daha sonra yine install ve next tıklamalarıyla Eclipse plug-ini yüklüyor.
Plug-in yüklendikten sonra ilk seçenekte olduğu gibi Eclipse'i baştan başlatıyoruz. Kod yazdığımız kısmda sağ tıklayıp "Check->Check Code With Checkstyle" diyerek kodumuzu checkstyle'ın default standartlarına göre değerlendirebiliriz. Resimde de görüldüğü üzere standara uymayan satırlar sarı boyalı ve her sarı satırın en solunda büyüteç resmi var. Büyüteçin üzerine geldiğiniz zaman nerede yanlış yaptığınızı görebilirsiniz.


Eğer checkstyle ile gelen default standardları değiştirmek istiyorsak Eclipse klasörümüzde plugins'in altında checkstyle'ın bulunduğu dosyadaki "sun_checks.xml" dosyasını notpad veya notpad++ gibi bir metin editöründe açıp düzenlemeniz gerekecek. Hatta bu dosyaya hiç bulaşmadan kendi standartlarınızı ayrı bir xml dosyasında oluşturabilirsiniz.


sun_checks.xml dosyasını açtığınız zaman hemen hemen her satırda göreceğiniz modül dediğimiz şeyi karşılayan şeklinde taglar istediğiniz modüllerin taglarıyla değiştirilerek düzenlenebilir. Mesela kendi bilgisyarımda Eclipse'in bulunduğu klasöre gelip plugins->com.atlassw.tools.eclipse.checkstyle_4.4.3 altındaki "sun_checks.xml" dosyasını açtım ve tagını gördüm. Bu tag, kodu checkstyle ile check ettiğim zaman 150 satırdan fazla olan metodların tespit edilip uyarı verilmesini sağlıyor. Eğer bu özelliği kullanmak istemiyorsanız veya yerine başka bir modül kullanmak istiyorsanız http://checkstyle.sourceforge.net/availablechecks.html adresinden modül bilgilerini öğrenip, gerektiği şekilde kullanabilirsiniz. MetodLength modülünü kullanmak istiyor fakat satır sayısını değiştirmek istiyorsanız
şeklinde modüllerin özelliklerini(property) değiştirebilirsiniz. Yine kullanmak istediğiniz diğer modüllerin isimlerinde bu şekilde taglayarak kullanabilirsiniz.

Hiç yorum yok: