Garip, açık bir soru, ancak bu her zaman çarptığım bir sorun:
Bakımı ve çalışması kolay olan yazılım, iyi tasarlanmış bir yazılımdır. Bir tasarımı sezgisel hale getirmeye çalışmak, bir sonraki geliştiricinin, bileşenin işlevini çıkarabilmesi için bileşenlerinizi adlandırmak anlamına gelir. Bu yüzden sınıflarımıza "Tip1", "Tip2" vb. İsimlerini vermeyiz.
Bir gerçek dünya konseptini modellerken (örn. Müşteri) bu genellikle gerçek dünya konseptini modellendikten sonra türünüzü adlandırmak kadar kolaydır. Ancak, daha sistem odaklı olan soyut şeyler inşa ederken, okunması kolay ve sindirimi kolay olan isimlerin tükenmesi çok kolaydır.
Bileşenlerin ne yapması gerektiğini açıklayan bir taban tipi veya ara yüz ile tür ailelerini adlandırmaya çalışırken (benim için) daha da kötüleşiyor. Bu, doğal olarak, uygulamanın lezzetini (örneğin IDataConnection
ve SqlConnection
.NET Framework'de) tanımlamaya çalışan her türetilmiş türe yol açar , ancak "yansıtma ve belirli bir dizi öznitelik aramaya çalışarak " gibi karmaşık bir şeyi nasıl ifade edersiniz?
Sonra nihayet ne yapmaya çalıştığını açıkladığınızı düşündüğünüz tip için bir isim seçtiğinizde, meslektaşınız “WTF DomainSecurityMetadataProvider
gerçekten yapıyor mu? ”
Bir bileşen için iyi niyetli bir isim seçmek için herhangi bir iyi teknik var mı, yoksa karışık isimler almadan bir bileşen ailesi oluşturmak için?
İsmin "iyi" olup olmadığı hakkında daha iyi bir fikir edinmek için bir isme uygulayabileceğim basit testler var mı ve diğerleri için daha sezgisel olmalı mı?