“Kontrolcüleri ince tutun.”
Her Laravel geliştiricisi bunu duymuştur.
Ancak çok az takım bunu gerçekten uygular.
Bunun nedenini ve “ince” kelimesinin gerçek projelerde ne anlama geldiğini konuşalım.
Bu problemler genellikle Laravel uygulamaları bir yıllık dönemi geçtiğinde ortaya çıkar…
Şişkin Kontrolcüler Genellikle Nasıl Görünür
Tipik bir kontrolcü:
- İstekleri doğrular
- Yetkilendirme işlemlerini yürütür
- İş kurallarını yönetir
- Veritabanı sorgularını yazar
- Cevapları biçimlendirir
İşler.
Ta ki çalışmaz hale gelene kadar.
Neden Takımlar Şişkin Kontrolcülerle Sonuçlanır
Çünkü bu kolaydır.
Gönderime odaklandığınızda, mantığı rota yakınında tutmak doğal bir his verir. Ekstra dosya yok. Ekstra düşünce yok.
Problemler daha sonra ortaya çıkar.
Şişkin Kontrolcülerin Gerçek Maliyeti
- Kontrolcüler okunamaz hale gelir
- Mantık yeniden kullanılamaz
- Test etmek zorlaşır
- Her yeni özellik eski kodu etkiler
Ölçeklendiğinde, bu takımları yavaşlatır.
“İnce” Kelimesi Gerçekten Ne Anlama Geliyor
İnce, “boş” anlamına gelmez.
İyi bir kontrolcü:
- Bir isteği kabul eder
- İşleri devreder
- Bir yanıt döner
Hepsi bu kadar.
İş mantığı başka bir yerde olmalıdır:
- Actions
- Services
- Domain sınıfları
Kontrolcü tahmin edilebilir hale gelir.
Sistem esnekleşir.
İnce Kontrolcüler Takımlara, Sadece Koda Değil
Mantık kontrolcülerin dışında kaldığında:
- Junior geliştiriciler özellikleri nerede ekleyeceklerini bilir
- Kıdemliler güvenle yeniden yapılandırabilir
- İncelemeler daha hızlı gerçekleşir
Bu estetikle ilgili değil.
Bu takım hızıyla ilgili.
Bunu Elle Zorlamak Neden Zor
Bu kuralı bilen takımlar bile baskı altında bunu ihlal eder.
Bu yüzden bazı takımlar, temiz bir ayrım için geliştiricileri teşvik etmek amacıyla düzenlemeler, şablonlar veya AI destekli iş akışları (örneğin, Laracopilot) kullanır.
Son Düşünce
Şişkin kontrolcüler bir beceri sorunu değildir.
Bu bir süreç sorunudur.
Eğer kontrolcüleriniz sürekli büyüyorsa, mimariniz yardım istemektedir.
Kaynak: Orijinal Makale


