10. SınıfBilişim Teknolojileri
Kod Tekrarını Azaltma ve Tasarım İlkeleri — Çalışma Sayfası
Kazanımlar, önemli noktalar ve sık yapılan hatalar tek sayfada.
Bu konuda öğrenecekleriniz
- Aynı iş mantığının kopyalandığı yerleri fark edip ortak bir metotta toplar.
- Ortak davranışı taban sınıfa taşıyarak kalıtım yoluyla tekrarı azaltır.
- Bir sınıfın sorumluluklarını belirleyip metotlarını bu sorumluluğa göre ayırır.
- Parametreyle geçilen değerlerin sınıf içi sabitlerden daha esnek olduğunu gösterir.
- Anlamlı isimlendirme ve düzen kurallarını uygulayarak okunabilirliği artırır.
- Kod incelemesinde tekrar ve sorumluluk dağılımını denetleyip önlem alır.
Önemli noktalar
- Tekrar eden bölümler bağımsız geliştiği için bir noktada yapılan düzeltme diğer kopyada karşılığını bulmaz.
- Benzer görünen iki bölüm farklı kurallar uyguluyor olabilir; birleştirmeden önce karşılaştırma yapılmalıdır.
- Metoda geçirilen kural için bir karşılaştırma tablosu oluşturulmalı ve sonuçların örtüştüğü görülmelidir.
- Sınıfın içine eklenen her yeni görev o sınıfı değiştirmek isteyen kişi için ek yük oluşturur.
- Kodun okunması için harcanan süre, satır sayısından çok tekrar miktarına bağlıdır.
- Kalıtım ile tekrar azaltma birlikte kullanıldığında alt sınıflar yalnızca kendi farklılıklarını yazar.
- Arayüz ortak davranışın sözleşmesini bildirir, nasıl gerçekleştirileceğini sınıfın kendisi belirler.
Formüller ve kurallar
- Kod tekrarı: aynı iş mantığının birden çok yerde ayrı ayrı yazılmasıdır.
- Ortak metot kuralı: aynı davranış bir kez yazılır, gereken her yer o metot çağrılır.
- Tek sorumluluk: bir sınıf yalnızca bir işi yapar, ikinci işi başka sınıfa taşınır.
- Genellik ilkesi: bir kural birden çok sınıfta kullanılacaksa en üstteki taban sınıfa konur.
- Sihirli değer yasak: sayısal sınırlar isimlendirilmiş sabitlerle tanımlanır.
- Denetim ölçütü: bir kural değiştiğinde etkilenen sınıf sayısı ölçülür.
- Okunabilirlik ölçütü: metot adı, metodun yaptığı işi anlatır ve gövde kısa tutulur.
Sık yapılan hatalar
- Benzeyen bölümleri doğrulamadan birleştirmek: Görünüşte aynı görünen iki bölüm farklı kurallar uyguluyorsa ortak metoda alınan kural diğer sınıflarda beklenmeyen sonuç üretir.
- Bir sınıfa birden fazla sorumluluk yüklemek: Ekran, dosya ve hesap işlerini birlikte yapan sınıf değiştirildiğinde hangi bölümün etkilendiği anlaşılamaz, hata bulmak zorlaşır.
- Esnekliği sınıf içi sabitlerle bozmak: Metot içine yazılan bir sınırlayıcı değer, her çağrıda değiştirilemeyeceği için programın esnekliği kaybolur.
- Ortak metot oluşturup onu çağırmamak: Metot yazılır ama alt sınıflardaki kopyalar silinmezse eski davranış çalışmaya devam eder ve taşıma işlemi hiçbir işe yaramaz.
- Kısaltılmış isimlerle okunabilirlik artırmaya çalışmak: Tek harfli metot adları kısa görünse de yaptığı işi gizler, kodun okunması için gövdenin baştan sona incelenmesini gerektirir.
- Satır sayısını tek ölçüt saymak: Kod kısaltılmış olsa da kopyalar duruyorsa bir kuralın düzeltilmesi yine birden çok yerde yapılır, ölçüt yanıltıcı biçimde iyi görünür.
Hızlı tekrar ipuçları
- Yeni metot yazmadan önce aynı işi yapan başka bir bölüm var mı diye kodu baştan sona tarayın.
- Değişiklik yapmadan önce programın ekran çıktısını not edin, sonra aynı girdilerle sonucu karşılaştırın.
- Sayısal sınırları ve tekrarlanan ifadeleri isimlendirilmiş sabitlere taşıyın, en küçük kazanç bu yöntemle elde edilir.
- Metot adını yazarken fiilin ne yaptığını cümle gibi okuyun; adı okuyan kişi gövdeye bakmadan işi anlayabilmelidir.
- Alt sınıfların yazdığı metotları kopyalamak yerine taban sınıftaki karşılığını çağırmayı seçin.
- Bir sınıfın iki iş yapıp yapmadığını sorularken sınıfın kendi verisine ek olarak başka sınıfın verisini kullanıp kullanmadığına bakın.
Kendini dene
Bu sayfayı okuduktan sonra konu anlatımını tekrar oku ve kendi cümlelerinle özetle.