Type-safety nedir? Artıları ve eksileriyle..

Okuma süresi ~1 dakika

Merhaba arkadaşlar, bu yazımda yazılım dünyasında oldukça sık duyduğumuz type-safety kavramından bahsedeceğim. Artıları ve eksileriyle birlikte değerlendirmeye çalışacağım.

Type-safety nedir

Type-safety kısaca; derleyicimizin derleme zamanında belirttiğimiz değişken tiplerini kontrol etmesi ve bir değişkene yanlış tipte bir atama yapıldığında hata vermesi anlamına gelir.

Type-safety özelliğinin mevcudiyeti dilden dile değişebilen bir durumdur. Java, C# gibi çoğu object-oriented dilde mevcut iken, Javascript, PHP gibi dillerde mevcut değildir.

Şimdi Java dili üzerinden type-safety kavramını basit örneklerle açıklayalım.

Employee employee = new Employer();

Yukarıda kod bloğunda gördüğümüz üzere Employee tipinde olan değişkene Employer tipinde değişken atadık. Yanlış tip ataması yaptığımız için kodumuzu derlemeye çalıştığımız zaman hata alacağız.

Not: Employee ve Employer sınıflarını birbirleriyle ilişkisi olmayan bağımsız sınıflarmış gibi düşünelim.

Yine başka bir örnek ile devam edelim;

String var1 = "string";
var1 = 5;

Burada da String tipinde olan var1 değişkenine sayısal bir değer atamaya çalıştık ve yine derleme zamanında hata alacağız.

Artıları ve eksileriyle type-safety

  • Type-safety dillerde yanlış tip atamalarından kaynaklı hatalar derleme zamanında yakalanırlarken type-safety olmayan dillerde çalışma zamanında yakalanırlar.
  • Type-safety olmayan diller derleme zamanında tip kontrolü yapmadıkları için daha esnek bir programlama sağlarlar.
  • Type-safety dillerde yanlış tip atamalarından kaynaklı hatalar derleme zamanında yakalandıkları için ilgili hatalar daha önce farkedilmiş olur.

Sonuç olarak; type-safety özelliği iyidir veya kötüdür diyemeyiz. Artılarını ve eksilerini birlikte değerlendirip, projemizin ihtiyaçlarını da göz önünde bulundurak bir sonuca varabiliriz.

Umarım type-safety kavramını siz değerli okurlarıma basit ve anlaşılır bir şekilde anlatabilmişimdir. Bir sonraki yazımda görüşmek üzere, hoşça kalın :simple_smile:

Spring @Transactional Anotasyonu

Çoğu zaman uygulamalarımızın arkasında bir veri tabanı yatar ve uygulamamız veri tabanı üzerinde okuma, yazma gibi belirli işlemleri gerçekleştirir. Transaction ifadesini aslında bu işlemlere benzetebiliriz, kısaca bir veya birden fazla sorgunun aynı süreçte işlem görmesidir. Okumaya devam et

RPC ve RMI nedir?

23/01/2021 tarihinde yayımlandı.

Java - Checked ve Unchecked Exception

13/02/2020 tarihinde yayımlandı.