Herhangi çözümleri - Sınıf İsimler benim seçim SVN / Domain Driven Design Windows XP Max Yol Uzunluğu sorunları engellenmektedir

0 Cevap php

Ben bir web sitesi yapmak için PHP 5.2 kullanıyorum

Benim sınıflar için açık adları gibi

Ben de 'bir dosyanın yolu ve adı' 'sınıfın adını' maç söyleyerek bir kongre var

Yani bir sınıf seslendi:

ABCSiteCore_Ctrlrs_DataTransfer_ImportMergeController

benim svn çalışan kopya otururdu:

C:\_my\websrv\ABCCoUkHosting2\webserve\my_library\vendor\ABCSiteCore-6-2\ABCSiteCore\Ctrlrs\DataTransfer\ImportMergeController.php

Ben adlandırma kuralı daha iyi anlaşılmasına yol açan ve karmaşıklık hissi azalır, bana kod tabanı daha iyi bir görünüm verir bulabilirsiniz.

Ne yazık ki benim Windows XP PC'de maksimum yol uzunluğu gibi görünüyor. Bu benim çalışma kopya içine Subversion dosyaları çıkış çalıştığınızda sorunlara neden gibi görünüyor.

Yolu çok uzun ise, ben bunu kontrol edemez - çıkış başarısız olur.

Bu yüzden ben sadece bir alan kavram için bir isim düşünmek için yaş alarak bulabilirsiniz.

Ben bir sınıf "bildirim hizmeti" adını isteyebilirsiniz - ama ben bunu "NtfctnSrvce" gibi bir şey arama sona. Ben bir şartname sınıf oluşturmak için çalıştığınızda da sorunlara neden olabilir.

diyelim ki, mesela ben bir açık adıyla adlandırılan bir spec sınıf isterdim ki:

$hasBeenNotifiedSpec = new ABCSiteCore_Model_MssgSys_Rules_Customers_HasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail($notificationLog);

if($hasBeenNotifiedSpec->isSatisfiedBy($customer))
 {
 ...do something

Benim dosya-to-sınıf-isim adlandırma kuralını kullanarak, ben sadece sınıf ne iyi bir fikir, vb Model / View / Controller desen yeri / rol almak için Windows Gezgini'ni kullanabilirsiniz

        ABCSiteCore\
         Model\
          MssgSys\
           Rules\
            Customer\
             HasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail.php

Önceden biçimlendirilmiş onun sadece bir peice - i etki kavram için isim düşünmek zaman, ben bunu kullanabilirsiniz görmek için bir 'path length checker' içine potansiyel yol uzunluğunu yapıştırarak alışkanlığı var Benim çalışma-notlar-wiki metin:

Gördüğünüz gibi. Ne yazık ki bu sınıf adı sınırlarına yakın oluyor

C:\_my\websrv\ABCCoUkHosting2\webserve\my_library\vendor\ABCSiteCore-6-2\ABCSiteCore\Model\MssgSys\Rules\Customer\hasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail.php

-------------------------------------------------------------------------------------------------------------------------------------------------------------------script path length danger zone------->|

----------------------------------------------------------------------------------------------------------------------------------------------------------------------max path length danger zone (inclusive .svn folder)------->|

C:\_my\websrv\ABCCoUkHosting2\webserve\my_library\vendor\ABCSiteCore-6-2\ABCSiteCore\Model\MssgSys\Rules\Customer\.svn\text-base\hasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail.php.svn-base

Çünkü bu yol uzunluğu kısıtlamalar, benim etki alanı modeli her yerde diline en uygun değildir benim varlıklar için isimleri seçmek eğilimindedir. Zor yapım geliştirme - Bu, bazen sistem çalışır karışıklıkları neden olur ve karmaşıklığı ekler konusunda yanlış yol açabilir.

bu yüzden:

  • Bu sorunu nasıl çözebilirim?
  • is it solvable or is this just one one those practical constraints that we all just have to deal with?
  • Bu sadece bir PC şeydir? Bu Mac veya Linux geçmek için zaman olabilir.

0 Cevap