Finansal Hesapları Veritabanı veya UI'ye Koymak Neden Felaket – webdedik gönderisi

Finansal Hesapları Veritabanı veya UI'ye Koymak Neden Felaket

Android geliştirirken android.content.Context'i hesaplama yardımcılarına taşımak, TextUtils'i muhasebe algoritmalarına gömmek ya da SQLite trigger'larına finansal kurallar delegasyonu yapmak çok cazip geliyor. Kısa vadede rahat görünüyor. Ama proje büyüdüğünde bu bağlantı iki ciddi sorunu doğuruyor.

İlk sorun test hızı. Android framework'ü çeken testler saf JVM unit test olarak çalışamıyor. Robolectric ortamı ya da fiziksel emülatör gerekli oluyor ve test süresi saniyelerden dakikalara fırladı. Geliştirici feedback loop'u kırılıyor, kod yazıp hemen test etmek imkansız hale geliyor.

İkinci sorun ise platform kilitlenmesi. Hesaplama kuralları veritabanı şemasıyla ya da UI state holder'ıyla iç içe olunca, bir tablo tasarımını değiştirmek veya ekranı yeniden tasarlamak finansal bakiye hesaplamalarını sessizce bozabiliyor. Refactoring riski artar, bug'lar gizli kalır.

Devanshu Patil'in yazısında gösterilen çözüm basit: finansal mantığı saf Kotlin/Java sınıflarına çıkar. Framework bağımlılığı olmayan, test edilebilir bir domain layer oluştur. Veritabanı ve UI sadece bu katmanı çağırsın.

Bu şekilde unit testlerin saniyeler içinde koşması, veritabanı şeması değişse de hesaplamalar güvenli kalması ve kod taşınabilir olması sağlanır. Finansal uygulamalarda mimari disiplin sadece iyi pratik değil, zorunluluk.

konu hakkında tepkinizi verebilirsiniz