Design Patterns – Tasarım Kalıpları
Tasarım Süreç & Modelleri / 27 Kasım 2014

Merhaba değerli Java dostları. Bu yazımda okuduğum bazı makalelerin giriş maiyetindeki bilgilerini derleyip yazmak istedim. Konumuz design patterns yani tasarım kalıpları. Malumunuz bir yazılımın en önemli yönlerinden birisi de mimarisi ve gelecekte olacak geliştirmelere rahat uyum sağlayabilmesidir. Bunun için çeşitli problemlere tasarım çözümleri geliştirilmiştir. Biraz teorik olarak yoğunlaşalım. Design Pattern özellikleri Paylas    

Eclipse Javadoc Settings
IDE - Server , Java / 25 Kasım 2014

Bir Java kodunun olmazsa olmazlarından birisi de javadoc’ tur. Bazen yanlış veya eksik tanımlamalar ile javadoc tamamlanmamış olabilir. Eclipse bizim için en ufak ayrıntısına kadar bunu denetleyebilir. Aşağıdaki görüntüde olduğu gibi ayarları değiştirirseniz tüm detayları ile eclipse javadoc ifadelerini inceleyip gerekli hataları oluşturacaktır. Bu ayarlara Window > Preferences > Java > Compiler > Javadoc üzerinden ulaşabilirsiniz. Paylas    

Java Mock
Java , JUnit / 19 Kasım 2014

Test işleri ile uğraşırken “Mock” ifadesini duymayan yoktur herhalde. Kısaca tarif edecek olursam, testler sırasında henüz hazır olmayan kaynakları, hazır olduğu halde uzun sürebilecek kaynakları, henüz kodlanmamış blokları vb durumları taklit etmek olarak tanımlayabilirim. Bunun için bazı hazır frameworkler mevcut. Aşağıda popüler olanları bulabilirsiniz. http://easymock.org/ Paylas    

Java Tabanlı Bir Proje
Kişisel / 18 Kasım 2014

Çeşitli yazıları, makaleleri okurken Devlet Hava Meydanları İşletmesi ve TÜBİTAK işbirliği ile yapılan Java tabanlı bir projeye denk geldim. Bu projenin kabaca tarifini yapacak olursam, hava kontrolörü seçim işlemleri için sınav sisteminin otomatize edilmesi diyebilirim. Bu proje ayrıca 2014 Duke’ s Choice Awards tarafından en iyi Java tabanlı 10 yazılım arasında gösterildi. Detaylı bilgi için aşağıdaki linkleri inceleyebilirsiniz. http://ceur-ws.org/Vol-1221/9_Deneyim.pdf Paylas    

Kod – Test İpuçları
Java , JUnit / 17 Kasım 2014

Bu yazımda kod – test aşamasında bize kolaylık sağlayacak bazı ipuçlarını paylaşmak istiyorum. Dışarıdan erişilebilir metotların dönüş tipleri ve aldığı parametrelerin tipleri değiştirilmemelidir. Başkaları tarafından kullanılma ihtimali olduğundan çağrılan her yerde değişiklik yapmak gerekecektir. Sınıfların birbirilerine olan bağımlılıkları mümkün olduğunca azaltılmalı. Yani bir sınıf içerisinde başka bir sınıfı oluşturmak yerine set metodu ile dışarıdan gönderilmelidir. Böylece hem çok sayıda instance oluşması önlenmiş olacak hem de tüm sınıflar aynı instance üzerinden işlem yapacaktır. Basit constructorlar yazmak her zaman iyidir. Ayrıca gerekli initialize işlemleri yapılabilir. Sınıflar birbirileri hakkında mümkün olduğunda az şey bilmelidir. İhtiyacı olan objeyi set metotları ile alması daha uygun olur. Kimi noktalarda ortak yapıyı sağlamak için Singleton tasarım kullanılabilir. OOP’ nin nimetlerinden mümkün olduğunca faydalanmak gerekir. Paylas    

JUnit Expected Exception
Java , JUnit / 13 Kasım 2014

Bazı test caseler için exception verebilir ve verdiğinde de bunun başarılı bir sonuç olmasını isteyebiliriz; çümkü çalışmasını istediğimiz şartlar sadece olumlu şartlar olmayabilir. Hemen kısa bir örneğe göz atalım. package com.farukbozan.jfr.util; public class ExceptionClass {public double div(double value1, double value2) throws ArithmeticException { if (value2 == 0) { throw new ArithmeticException(); } return (value1 / value2); }} Paylas    

JUnit Timeout
Java , JUnit / 12 Kasım 2014

Testlerimiz sırasında herhangi bir test case için limit süre vermek isteyebiliriz. Bizim için bu limit süreyi aşan testler başarısız anlamına gelmektedir. İşte kısa, hızlı ve basir bir örnek. @Test(timeout = 100) public void testPrint() { Timeout instance = new Timeout(); instance.print(); } Paylas    

JUnit Runner
Java , JUnit / 11 Kasım 2014

Daha önceki üç JUnit yazımın toplam bir değerlendirmesi olarak bu yazımda Runner yapısına değinmek istiyorum. Runner, JUnit içerisinde testleri ve test caseleri çalıştıracak olan ana yapıdır. Default değerinin yanı sıra farklı bir Runner ile çalıştırılmak isteniyorsa extends edilerek kullanılır. Dolayısıyla şimdiye kadar baktığımız örneklerle şu üç Runner sınıfını ortaya çıkarabiliriz. Default Parameterized Suite Paylas    

JUnit Parameterized Test
Java , JUnit / 10 Kasım 2014

Daha önceki iki JUnit yazımın ilkinde basit bir test sınıfı, ikincisinde ise birkaç test sınıfını bir arada çalıştıracak bir suite yapısını görmüştük. Şimdi ise sıra geldi bir testin farklı parametrelerle ardışık ve otomatik olarak JUnit tarafından çağrılmasına. Yani elimizde var olan parametre seti için tek tek test caseler tanımlamak yerine bunu otomatik hale getirip, bu işi bizim için JUnit’ in yapmasını istiyoruz. Hemen örnek kodumuza bakalım. package com.farukbozan.jfr.junit;import java.util.ArrayList; import java.util.Collection; import org.junit.After; import org.junit.AfterClass; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters;@RunWith(Parameterized.class) public class ParameterTest { Paylas