Şirin isimlendirme terimini buradan çektim (sayı 21). Sorun tanıdık değil kimseyi kurtarmak için, "Bir ile bitirmek böylece, Şirin adlandırma ortak bir önek ile ilgili sınıflar, değişkenler, vb bir demet prefixing eylemidir SmurfAccountViewbir geçer SmurfAccountDTOiçin SmurfAccountController" vb
Buna genel olarak duyduğum çözüm, bir şirin ad alanı yapmak ve şirin önekleri bırakmaktır. Bu genellikle bana iyi hizmet etti, ancak iki sorunla karşılaşıyorum.
ConfigurationSınıflı bir kütüphane ile çalışıyorum . Bu adlandırılan olabilirdiWartmongerConfigurationama Wartmonger ad alanında, bu yüzden sadece deniyorConfiguration. Aynı şekildeConfigurationçağrılabilecek bir sınıfa da sahibimSmurfConfiguration, ancak bunun için Şirin olmalı. Benim kodunda yer vardırSmurf.Configurationyanında görünürWartmonger.Configurationve tam isimlerini yazarak aksak ve kod az okunabilir hale getirir. Bir ile başa çıkmak daha güzel olurduSmurfConfiguration(benim kodum olsaydı ve bir kütüphane değil)WartmongerConfiguration.ServiceŞirin ad alanımda denilen bir sınıf varSmurfService.ServiceBir olan cephe Smurf işlerini çalışan bir kompleks Şirin kütüphanede üstünde. Şirin bir önek olmadan çok inanılmaz bir genelSmurfServiceçünkü daha iyi bir isim gibi görünüyorService. BununSmurfServicezaten genel, işe yaramaz bir isim olduğunu kabul edebilirim ve şirinleri uzaklaştırmak bunu daha belirgin hale getirdi. Ama isimlendirilebilirdiRunner,Launchervb. Ve hala ne “SmurfLauncherne yaptığını bilmiyorumLauncher, ama ne yaptığını biliyorumSmurfLauncher. YaptıklarınınSmurf.Launcher, tıpkı kadar belirgin olması gerektiğini savunabilirsin.Smurf.SmurfLauncher, ama `Smurf.Launcher 'ın şirinleri başlatan bir sınıftan ziyade kurulumla ilgili bir tür sınıf olduğunu görebiliyordum.
Bunlardan biriyle başa çıkmak için açık ve kapalı bir yol varsa, bu harika olurdu. Olmazsa, sıkıntılarını hafifletmek için bazı yaygın uygulamalar nelerdir?
SmurfJobs'yi başlatıyor veya teknik olarak Smurf belgelerinin dili ile tutarlı olmaları için çalıştırıyor. Bunun ve diğer cevapların ışığında, adını SmurfServicedeğiştireceğim SmurfJobRunner. Görünüşe göre 1 numara beklediğim gibi hiçbir dilde agnostik en iyi çözünürlüğe sahip değil. Ile gitmek SmurfConfigurationdoğru çağrı olacağını örnekleri görebilirsiniz , ama benim durumumda Configurationbile güçlük ile bile en iyisi olduğunu düşünüyorum Wartmonger.Configuration.
Smurf.Configurationve SmurfConfigurationfarklı hissediyor? Elbette bu fazladan değil, değil mi? ( ConfigBoy uzunluğu sorun ise kısalır .) Sorunu olmayan bir sorunu Smurf.Configurationvar mı SmurfConfiguration?
Smurf.LauncherŞirinleri fırlatıyor mu , yoksa fırlatıyor muSmurfJob? Belki çağrılabilirdiSmurf.JobLauncher?