Kısmi Sınıf Dosyaları İçin Adlandırma Kuralları


95

ASP.NET MVC iskele kodumun büyük kısmını oluşturuyorum. Oluşturulan tüm dosyalar, standart adlandırma kurallarını kullanan kısmi sınıflardır. Örneğin, çalışan denetleyici dosyam EmployeeController.cs olarak adlandırılır. EmployeeController'ı özel, oluşturulmamış mantıkla genişletmek istersem, EmployeeControllerCustom.cs adında ikinci bir kısmi sınıf dosyası oluştururum. Özel ve oluşturulmuş mantığı iki farklı dosyaya ayırıyorum, böylece EmployeeController'ı bir sonraki oluşturduğumda özel değişikliklerimin üzerine yazılmıyor. Dosya adına "Özel" sonekinin eklenmesi bana mantıklı geliyor, ancak takip etmem gereken daha yerleşik bir kısmi sınıf dosya adlandırma kuralı var mı?

Yanıtlar:


156

Kullandığım .- örneğin ayırma EmployeeController.SomeSpecialBehaviour.cs. Ayrıca, "bağımlıUpon" veya csproj içindeki her neyse, proje ağacına da bağlarım, böylece dosyanın altına (çözüm gezgininde) düzgün bir şekilde yuvalanır. Bunu elle (csproj'u düzenleyin) veya bir eklenti ile yapmanız gerekir; Örneğin:

<Compile Include="Subfolder/Program.cs" />
<Compile Include="Subfolder/Program.Foo.cs">
  <DependentUpon>Program.cs</DependentUpon> <!-- Note that I do not reference the subfolder here -->
</Compile>

şu şekilde görünür:

  • Alt klasör
    • Program.cs
      • Program.Foo.cs

5
DependentUpon önerisi gerçekten harika ve harika çalışıyor. Kaydettiğin için teşekkürler Doğru okuyorsam, "Özel" gibi standart bir son ek kullanmazsınız. Sonekiniz her zaman kısmi sınıf dosyasının işlevselliğinin amacını ifade eder. Ayrıca,. ayırma kasaya karşı mı? . gelişmiş okunabilirlikten daha fazlasını sağlıyor mu? Teşekkürler.
Ben Griswold

11
Doğru - dosya adı, o bölümdeki kodun amacını belirtir . Öyleyse, egzotik bir arayüz uyguluyorsam (ve kodu ayrı tutarsam), olabilir SomeType.ICustomTypeDescriptor.cs. .(IMO) iki şeyi birbirinden ayıran: gerçek tipini ( SomeType) ve niyet ICustomTypeDescriptor- hem zaten tam kasalı olan; ayrıca; SomeForm.Designer.cs-p
Marc Gravell

Mükemmel. Ek bilgiler için teşekkürler. Oylamaktan fazlasını yapabilseydim cevabınız ve notunuz doğru olur.
Ben Griswold

1
@Marc Gravell: DependentUpon'u dosyalar için ayarlama işlevselliğini sağlayan herhangi bir VS uzantısını biliyor musunuz?
Dyppl

2
@Dyppl FileNesting uzantısı bunu yapabilir
gt

15

Marc Gravell ♦ 'nin cevabına eklemek için, bir alt klasördeki dosyalarda ve DependentUpondüğümün göz ardı edilmesinde bir durum yaşadım . Kısacası, böyle bir durumda xml'm şöyle olmalıydı:

<Compile Include="foo\bar.cs" />
<Compile Include="foo\bar.baz.cs">
    <DependentUpon>bar.cs</DependentUpon>  <!-- Note that I do not reference the subfolder here -->
</Compile>

Umarım bu birine yardımcı olur :)


ben de. Bu, projeye önce veritabanında başladığım ve modeli oluşturduğunda onları model diyagramının içine koyduğum için oldu. VS2015, herkes için bir fark yaratıyorsa.
Joshua K
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.