Daha iyi bir programcı olmak için Robert Martin tarafından " Temiz Kod " u okudum . Şimdiye kadar hiçbiri gerçekten çığır açmazken, uygulamaları tasarlama ve kod yazma konusunda farklı düşünmeme neden oldu.
Kitabın yalnızca hem kabul etmediğim hem de özellikle arabirim adlandırma kuralları ile ilgili olarak anlam ifade etmeyen bir kısmı var. İşte doğrudan kitaptan alınan metin. Bunun kargaşasını bulduğum ve netleşmek istediğim yönünü cesaretlendirdim.
Arayüzleri süslemeden bırakmayı tercih ederim. Bir önceki I, bugünün mirasıyla dolu tomarlarda çok yaygındır, en iyi ihtimalle en çok dikkat dağıtıcı ve en kötüsü de çok fazla bilgidir. Kullanıcılarımın onlara bir arabirim verdiğimi bilmelerini istemiyorum .
Belki de sadece öğrenciyim çünkü ya da hiç profesyonel veya takım tabanlı bir programlama yapmadığım için ama kullanıcının bir arayüz olduğunu bilmesini isterim. Bir arayüz uygulamak ve bir sınıfı genişletmek arasında büyük bir fark var.
Öyleyse benim sorum, “Kodun bir kısmının bir arayüz bekliyor olduğu gerçeğini neden gizlemeliyiz?
Düzenle
Bir cevaba cevap olarak:
Türünüz bir arabirim veya bir sınıfsa, işletmeniz, kodunuzu kullanan birinin işi değil. Bu nedenle, bu üçüncü taraf kodunda kodunuzun ayrıntılarını sızdırmamalısınız.
Belirli bir türün bir arabirim mi yoksa bir üçüncü şahıs koduna mı sınıf olduğunun ayrıntılarını neden "sızdırmamalıyım"? Üçüncü taraf geliştiricinin, bir arabirim uygulayacaklarını veya bir sınıfı genişleteceklerini bilmek için kodumu kullanan önemli değil mi? Farklar sadece aklımda olmaları için yaptığım kadar önemli değil mi?
to know whether they will be implementing an interface or extending a class
: evet, ancak kodunuzun çoğu kullanıcısı onu arayacak, uygulayamayacak veya genişletmeyecek ve gerçekten de onun ne olduğunu önemsemediler.