Press "Enter" to skip to content

Author: seckintozlu

Effective Java Madde 64: Nesneleri Arayüz Türleri Üzerinden Kullanın

Madde 51’de anlattığımız gibi parametre türleri olarak sınıflar yerine arayüzleri kullanmalıyız. Bunu daha da genelleyecek olursak, nesneleri işaret etmek için sınıflar yerine arayüzleri kullanmalıyız. Eğer uygun bir arayüz türü mevcutsa, parametreler, dönüş değerleri, değişkenler ve alanlar arayüz türü ile tanımlanmalıdır. Bunun tek istisnası yapıcı metot içerisinde nesne yarattığımız zamandır. Bunu…

Share
Leave a Comment

Effective Java Madde 63: String Birleştirme Yaparken Performans Kayıplarına Dikkat Edin

String birleştirme operatörünü (+) kullanarak birden çok string değerini tek bir string olarak kolayca birleştirmemiz mümkündür. Bu yöntem eğer tek satırlık bir çıktı oluşturmak istiyorsanız veya küçük bir nesneyi string formatında ifade etmek istiyorsanız işinizi görebilir, ancak daha büyük işlerde sınıfta kalır. Bunun sebebi ise Madde 17’de gördüğümüz gibi stringlerin…

Share
Leave a Comment

Effective Java Madde 62: Diğer Türlerin Daha Elverişli Olduğu Durumlarda String Kullanmaktan Kaçının

String türü, metinleri temsil etmek için tasarlanmıştır ve bu işi gayet iyi yapmaktadır. Ancak stringler çok yaygın ve kullanımı kolay olduğundan, uygun olmadıkları durumlar için de kullanıldığını görmekteyiz. Bu maddede, stringleri kullanmamanız gereken durumlardan bahsedeceğiz. Stringler diğer değer türlerinin (value types) yerine kullanılmamalıdır. Bir programa veri akışı olduğunda (örneğin bir…

Share
Leave a Comment

Effective Java Madde 61: Kutulanmış (boxed) Yerine Temel Türleri Tercih Edin

Java’da tür sistemi iki parçadan oluşur: int, double, boolean gibi temel türler ve String, List gibi referans türleri. Her temel türe karşılık gelen birer tane de kutulanmış temel tür (boxed primitive type) bulunmaktadır. Örneğin, int, double ve boolean temel türlerine karşılık gelen kutulanmış türler Integer, Double ve Boolean olmaktadır. Madde…

Share
Leave a Comment

Effective Java Madde 60: Net Sonuçlar Almak İstiyorsanız double ve float Kullanmaktan Kaçının

Java’da double ve float bilimsel ve mühendislik hesaplamaları için tasarlanmış türlerdir. Bu türler, ikili kayan noktalı işlemler (binary floating-point arithmetic) yapmak için tasarlarlanmıştır ancak net sonuçlar almak istediğinizde doğru çalışmazlar. Özellikle de parasal hesaplamalar yapmak için hiç uygun değildirler çünkü 0.1 değerini (ya da 10’un diğer negatif kuvvetlerini) double veya…

Share
Leave a Comment

Effective Java Madde 59: Kütüphaneleri Öğrenin ve Kullanın

Diyelim ki 0 ile belli bir üst sınır değeri arasında rastgele sayılar üretmek istiyorsunuz. Birçok programcı bu işi yapmak için aşağıdaki gibi bir kod yazabilir: Bu metot doğru gibi görünse de oldukça hatalıdır. Seçtiğiniz n değerine bağlı olarak bazı sayıların diğerlerine kıyasla daha sık üretilmesi söz konusudur. Aşağıdaki kod önce…

Share
2 Comments

Effective Java Madde 58: Klasik for Döngüleri Yerine for-each Tercih Edin

Madde 45’de anlatıldığı üzere, bazı durumlarda stream kullanmak avantajlı olurken, bazen de yinelemeye (iteration) başvurmak daha mantıklı olmaktadır. Aşağıda, bir koleksiyonun elemanlarını tarayan bir döngü görmekteyiz: Bu da dizi elemanlarını tarayan klasik döngü kodu: Yukarıdaki kullanımlar Madde 57’deki while döngülerinden daha iyi olsa da mükemmel değiller. Iterator ve döngü değişkenleri…

Share
Leave a Comment

Effective Java Madde 57: Yerel Değişkenlerin Etki Alanını Kısıtlayın

Bu madde ile Madde 15: Sınıfların ve Üyelerinin Erişilebilirliğini Kısıtlayın benzer tavsiyelerde bulunmaktadır. Yerel değişkenlerin etki alanını (scope) kısıtlayarak hem kodunuzun okunabilirliğini ve bakım yapılmasını kolaylaştırırsınız, hem de hata yapılmasının önüne geçmiş olursunuz. C gibi eski programlama dillerinde, yerel değişkenlerin blokların başında tanımlanması zorunluydu ve bazı programcılar da bunu alışkanlık…

Share
Leave a Comment

Effective Java Madde 55: Optional Döndürürken Dikkatli Olun

Java 8’den önce, belli durumlarda değer döndüremeyen bir metot yazabilmek için iki farklı yöntem mevcuttu. Bunlardan birincisi aykırı durum (exception) fırlatmak, ikincisi ise metodun dönüş türü nesne referansı ise null döndürmektir. Bu yaklaşımların ikisi de mükemmel değildir. Aykırı durumlar istisnai durumlar için kullanılmalıdır (Madde 69) ve aynı zamanda yaratılması masraflıdır.…

Share
Leave a Comment

Effective Java Madde 54: Null Yerine Boş Koleksiyon veya Dizi Döndürün

Aşağıdakine benzer metotlar sıklıkla karşımıza çıkmaktadır: Yukarıdaki kodda peynir listesinin boş olduğu durumu özel bir durum gibi ele alıyoruz. Bu son derece gereksizdir. Bu, istemciyi de null denetimi yapmaya mecbur bırakacaktır: Boş bir koleksiyon veya dizi yerine null döndüren bütün metotlar bu soruna yol açar. Hata yapmaya çok elverişlidir çünkü…

Share
Leave a Comment
%d bloggers like this: