**Soru:** Yazdığım sınıfın 30 metodu var. Takım arkadaşım "bu sınıf çok büyük" dedi. Kaç metot olunca sınıf şişmanlamış sayılır? **Kısa Cevap:** Kesin bir metot sayısı yoktur. Sınıf boyutu, sayıdan çok sorumluluk sayısıyla ölçülür. Bir sınıf tek bir sorumluluğu varsa 50 metot olsa bile normaldir; iki sorumluluk varsa 5 metotla bile şişmandır. --- Bu sorunun cevabı doğrudan Tek Sorumluluk İlkesi'ne (Single Responsibility Principle) dayanır. **Sayı değil, sorumluluk sayısı** Sınıf boyutunu metot sayısıyla ölçmek yanıltıcıdır. Bir `UserRepository` sınıfının create, read, update, delete, findByEmail, findByRole, findAll, paginate gibi 20 metodu olabilir ve bunların hepsi "veritabanında kullanıcı yönetimi" tek sorumluluğuna aittir. Bu sınıf şişman değildir. Öte yandan bir `User` sınıfı hem kullanıcı verilerini yönetip hem e-posta gönderip hem de şifreyi hashliyor olsa 6 metoduyla bile iki-üç sorumluluk taşımaktadır. Bu daha ciddi bir sınıf boyutu sorunudur. **Pratik uyarı işaretleri** - Sınıf açıklamasını tek cümleyle yapamıyorsan: büyük olasılıkla birden fazla sorumluluğu var. - "ve" bağlacı kullanmak zorunda kalıyorsan: "Kullanıcı verilerini yönetir VE e-posta gönderir" → iki sınıf olmalı. - Metotların yarısı birbiriyle alakasız değişken/property'yi kullanıyorsa: gruplar farklı sınıflara ayrılabilir. - Test yazmak zorlaşıyorsa: sınıf büyüdükçe test karmaşası artar, bu sınıf boyutunun fiili ölçüsüdür. **Sayısal referans noktaları** Endüstride yaygın kabul gören bazı eşikler şöyle: - 200 satır kod: yeniden düşün - 500 satır kod: büyük olasılıkla refactor zamanı - 1000 satır kod: kesinlikle bölünmeli Metot sayısı için benzer eşikler: 10-15 metot rahat, 20-30 kontrol et, 40+ sınıfı neden bu kadar büyük tuttuğunu sorgula. **Gerçek dünya uzlaşması** Teori güzel ama her sınıfı parçalamak da aşırıya kaçabilir. 30 metotluk sınıf boyutun sorun olup olmadığını anlamak için şunu sor: Bu sınıfı okuyan biri işlevini 30 saniyede anlayabiliyor mu? Hayırsa refactor; evetse belki takım arkadaşın sadece sayıdan ürküyor. Netice: sınıf boyutunu metot sayısıyla değil, kavramsal netlikle ölç.