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.