Welcome

Kotlin ve NPE (2)

Bir önceki yazımızda başladığımız Kotlin’de NPE konusunu incelemeye devam ediyoruz. Peki önceki yazımızda bahsettiğimiz durumların dışında başka hangi durumlarda NPE hatası ile karşılaşırız? NPE hatası alabileceğimiz durumlardan birisi de inheritance’ın kullanıldığı bir senaryodur. Kotlin’de nesneler yaratılırken, değişkenler sınıf hiyerarşisine göre initialize edilir. Hiyerarşide her bir sınıfa karşılık gelen nesne alanları construct edilirken, bu işlem üst […]

Kotlin ve NPE

Kotlin’in öne çıkan özelliklerinden birisi de uygulama içerisinde null referansların önüne geçmeye çalışmasıdır. Kotlin’in tip sistemi, uygulamalarımızdan NullPointerException hatalarını ortadan kaldırma hedefi ile tasarlanmıştır. Buna “null safety” adı da verilmektedir. Peki NPE hatası Kotlin’de nasıl engelleniyor? Bunun için Kotlin’de tanımlanan değişkenler ve return tipleri varsayılan durumda null değer alamayacak veya dönemeyecek biçimde tanımlanıyorlar. Örneğin, yukarıda […]

Kotlin ve Spring MVC Validations

Kurumsal Java dünyasında pek çok framework ve çözüm, kabiliyetleri ile ilgili metadata tanımlarını Java anotasyonları şeklinde ele almaktadır. Bunlardan birisi de Java Bean Validation spesifikasyonudur. JSR-380 olarak da bilinen bu spesifikasyon ile domain sınıflarındaki validasyon ihtiyaçları Java anotasyonları ile field veya getter metotlar üzerinde tanımlanmaktadır. Çalışma zamanında da uygun bir Validator ile bu sınıflardan yaratılmış […]

Mockito’da Mock ve Spy Nesnelerin Eğitilmesi

Bir önceki yazımızda Mockito kütüphanesinin Kotlin projelerinde kullanılması üzerinde durmuştuk. Bu konuya devam edeceğiz. Ancak bu yazımızda Kotlin özelinden çıkıp Mockito’nun kullanımı ile ilgili daha genel bir konudan bahsetmek istiyorum. Bilgidiğiniz üzere, Mockito kütüphanesi, mock ve spy nesnelerin hedef metotlarının eğitilmesi için iki farklı kullanım biçimi sunmaktadır. Bunlardan ilki, daha sık kullanılan aşağıdaki; “when method […]

Kotlin ve Mockito

TDD ile programlama yapan Java yazılım geliştiricilerin en temel araçlarından birisi de Mockito mock kütüphanesidir. Mockito yardımı ile arayüz ve sınıflardan mock ve stub nesneler oluşturarak, bunları eğittikten sonra test ettiğimiz nesneye enjekte ederek birim testlerimizi gerçekleştiririz. İlk iki yazımızdan sonra Kotlin ile geliştirilen yazılım projelerinde Mockito kütüphanesi ile çalışırken karşılaştığımız en temel problemi sanırım […]

Kotlin ve Spring

Kotlin deneyimlerimi paylaşmaya devam ediyorum. Bu yazımızda da Kotlin ile kurumsal yazılım geliştirirken Spring Framework’ün kullanımından bahsedeceğim. Geçen yazımda da belirttiğim gibi Kotlin’in JVM uyumlu bir dil olması sayesinde mevcut Java kütüphanelerini Kotlin projelerimizde de kullanabiliyoruz. Ancak Hibernate örneğinde olduğu gibi Spring ve Spring Boot Framework açısından da, Kotlin’in varyasılan durumda sınıfları ve metotları final […]