Kent Beck'in Uygulama Modellerinden bazı pasajlardan alıntı yapacağım :
Basit Süper Sınıf Adı
"[...] İsimler kısa ve etkili olmalıdır. Bununla birlikte, isimleri kesinleştirmek için bazen birkaç kelime gerekir. Bu ikilemden çıkmanın bir yolu, hesaplama için güçlü bir metafor seçmektir. Akılda bir metaforla, hatta tek kelimeler onlarla birlikte zengin bir çağrışımlar, bağlantılar ve çıkarımlar ağı getirir.Örneğin, HotDraw çizim çerçevesinde, bir çizimdeki bir nesne için ilk adım
DrawingObject idi . Ward Cunningham, tipografi metaforuyla birlikte geldi: bir çizim basılı, düzenlenmiş bir sayfa. Bir sayfadaki grafik öğeler şekillerdir, bu nedenle sınıf Şekil olur . Metafor bağlamında, Figure
, DrawingObject'ten aynı anda daha kısa, daha zengin ve daha kesindir . "
Nitelikli Alt Sınıf Adı
"Alt sınıfların adlarının iki görevi vardır. Hangi sınıfa benzediklerini ve nasıl farklı olduklarını iletmeleri gerekir. [...] Hiyerarşilerin köklerindeki adların aksine, alt sınıf adları neredeyse sohbetlerde kullanılmaz, böylece kısa ve öz olma pahasına anlamlı olabilirler. [...]
Hiyerarşilerin kökleri olarak hizmet eden alt sınıflara kendi basit adlarını verin. Örneğin, HotDraw , bir şekil seçildiğinde şekil düzenleme işlemlerini sunan bir sınıf Tutamacına sahiptir. Şekil
genişlemesine rağmen basitçe Sap olarak adlandırılır . Tam bir tutamaç ailesi vardır ve en uygun şekilde StretchyHandle ve TransparencyHandle gibi adlara sahiptirler
. Çünkü Sap kendi sıralamasının temelidir, nitelikli bir alt sınıf adıyla daha basit üst sınıf adını hak ediyor.
Alt sınıf isimlendirmedeki diğer bir kırışıklık, çok seviyeli hiyerarşilerdir. [...] Değiştiricileri körü körüne üst sınıfa eklemek yerine, adı okuyucunun bakış açısından düşünün. Bu sınıfın hangi sınıf olduğunu bilmesi gerekiyor? Bu üst sınıfı, alt sınıf adının temeli olarak kullanın. "
Arayüz
Arayüz isimlendirmesinin iki stili, arayüzleri nasıl düşündüğünüze bağlıdır. Uygulama içermeyen sınıflar olarak arayüzler, sınıflarmış gibi adlandırılmalıdır ( Basit Üst Sınıf Adı , Nitelikli Alt Sınıf Adı ). Bu adlandırma stiliyle ilgili bir sorun, sınıfları adlandırmaya başlamadan önce iyi adların kullanılmış olmasıdır. File adlı bir arabirim , ActualFile , ConcreteFile veya (yuck!) FileImpl gibi bir uygulama sınıfına ihtiyaç
duyar.(hem bir son ek hem de bir kısaltma). Genel olarak, soyut nesnenin bir arayüz veya bir üst sınıf olarak uygulanıp uygulanmadığına bakılmaksızın, birinin somut veya soyut bir nesneyle ilgilenip ilgilenmediğini iletmek önemlidir. Arayüzler ve üst sınıflar arasındaki ayrımın ertelenmesi, bu adlandırma stiliyle iyi bir şekilde desteklenir ve sizi daha sonra gerekli olursa fikrinizi değiştirmekte özgür bırakır.
Bazen, somut sınıfları adlandırmak, iletişim için arayüzlerin kullanımını gizlemekten daha önemlidir. Bu durumda, "I" ile önek arabirim adları. Arayüzün adı IFile ise, sınıf basitçe Dosya olarak adlandırılabilir .
Daha ayrıntılı tartışma için kitabı satın alın! Buna değer! :)