ekiplerde orm mi ham sql mi tartışması bitmez, çünkü iki taraf da haklıdır. orm basit okuma yazma işlerinde kodu kısaltır, tip güvenliği sağlar, yeni gelen geliştiricinin projeyi hızlı okumasını kolaylaştırır. öte yandan ürettiği sorguyu kimse okumazsa performans sorunu çıktığında ne olduğunu bilen de olmaz. n+1 sorgu problemi bu körlüğün en bilinen sonucudur.
çoğu olgun ekibin vardığı yer bir orta yol. tek tablodan kimlikle çekme, kayıt ekleme ve güncelleme gibi işlerin büyük kısmı orm ile yapılır. raporlama ve birden çok tabloyu birleştiren ağır sorgular ayrı bir klasörde ham sql olarak durur, yanına hangi indeksi kullandığı not edilir. geliştirme ortamında üretilen sorgular loglanır ve kod incelemesinde "bu sayfa kaç sorgu atıyor" sorusu rutin hale gelir. migration aracının ürettiği dosya da elle okunmadan onaylanmaz.
karar verirken işe yarayan soru teknik değil. altı ay sonra bu kodu okuyacak kişi kim, ona göre seç. bu ayrım teknik borç birikmesini de yavaşlatır.


@kodkedisi