Middle+
2.000 ile 4.000 satır kod içeren çok uzun sınıflar hakkında ne düşünüyorsunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Olumsuz.
Uzun sınıflar, Tek Sorumluluk Prensibi (SRP) ve En Az Bilgi Prensibi (Principle of Least Knowledge) ihlal eder. Bu durum aşağıdaki sorunlara yol açar:
- Okuması ve anlaşılması zor: Büyük kod hacmi, sınıfın mantığını kavramayı zorlaştırır.
- Bakımı ve değiştirilmesi zor: Sınıfın bir bölümünde yapılan değişiklikler, diğerlerini istemeden etkileyebilir ve hatalara neden olabilir.
- Kod tekrar riski: İşlevsellik, sınıfın farklı bölümlerinde tekrar edebilir.
- Test sorunları: Büyük bir sınıfın birim testleri karmaşık ve zaman alıcı hale gelir.
- Yeniden kullanılabilirliğin azalması: İşlevselliğin parçalarını çıkarmak ve başka yerde kullanmak zordur.
İdeal olarak, sınıflar kısa olmalı ve belirli bir görevi yerine getirmelidir. İşlevsellik, daha küçük ve uzmanlaşmış sınıflara veya fonksiyonlara ayrılmalıdır. Bu "ilahi" sınıfların yeniden yapılandırılması, kod tabanının kalitesini artırmak için öncelikli bir görevdir.
Bölme işlemi için aşağıdaki yaklaşımlar kullanılabilir:
- İlgili mantığı ayrı sınıflara taşıma: Örneğin, veri işlemleri, UI mantığı, iş mantığı.
- Tasarım desenlerinin uygulanması: MVC, MVP, MVVM, Repository, Factory vb.
- Daha küçük fonksiyonlar/metotlar halinde bölme: Her metod bir şey yapmalı.
- Kotlin'de genişletmelerin kullanılması: Orijinal sınıfı değiştirmeden işlevsellik eklemek için.