İlgili sınıfların ve arayüzlerin adlandırılması


9

Bir veri kaynağı (veri bir Excel dosyası, metin dosyası, dizi, sorgu dizesi, vb.) ObjectParserKullanarak güçlü yazılan nesnelere veri ayrıştırma bir sınıf oluşturduk IObjectParserDataSource.

Benim uygulama örnekleri IObjectParserDataSource:

  • TextFileObjectParserDataSource
  • ExcelFileObjectParserDataSource

Bu sınıf isimleri bana çok uzun ve kıvrımlı geliyor.

Onları adlandırabilirim:

  • TextFileDataSource
  • ExcelFileDataSource

Ancak bu bir belirsizlik seviyesi getirir ve IObjectParserDataSourceilk bakışta bu kadar açık bir şekilde ilişkili olmamıştır . Bu önemli hale gelir, çünkü bu veri kaynaklarını tanımlamak müşteri kodunda gerçekleşir ve potansiyel karışıklığı ve belirsizliği en aza indirmek istiyorum.

Böyle bir senaryoda bu sınıfları nasıl adlandırırsınız?


1
Mevcut isimlerinizin çok uzun ve kıvrımlı olduğunu düşünmüyorum.
AakashM

Ben bu fikri dışarı atıyorum, ama ben bunu tavsiye etmiyorum: Eğer aynı dize ("ObjectParserDataSource" gibi) adınızı bir çok kullanırsanız, kısaltma. ExcelFileOPDS, TextFileOPDS. Yazma ve ekran alanından biraz tasarruf sağlar, ancak koda aşina olmayan biri için opaktır.
Bobson

Yanıtlar:


22

Genellikle tüm benzer nesneleri tek bir ad alanına yapıştırarak ve adlarını basitleştirerek (eğer yapabilirsem) bu sorunu aşmaya çalışırım.

Örneğin,

ad alanı ObjectParserDataSources
|
| -> sınıf TextFileSource
| -> sınıf ExcelFileSource

Veya / ObjectParserservice ile çalışan nesnelerin koleksiyonu yeterince büyük olursa, yalnızca ObjectParser'a ayrılmış ayrı bir klasör ağacı veya proje yaparım:

namespace ObjectParser
|
|-> class ObjectParser
|-> interface IObjectParserDataSource
|
|-> namespace DataSources
|   |
|   |-> class TextFileSource
|   |-> class ExcelFileSource
|
|-> other stuff...

Herhangi bir dosyanın içinde, ithalat ifadeleri ve kod bağlam genellikle oldukça o temizlemek yapacak TextFileSourceolan ObjectParserveri kaynağı. Aynı kod parçasında benzer şekilde adlandırılmış birden çok sınıf varsa TextFileSource, tam adıyla başvurabilirsiniz :

var parserSource = new ObjectParser.DataSources.TextFileSource(/*...*/);

Genellikle çok nadir görülür ve fazladan birkaç kelime yazmayı umursamıyorum.


1
Aynı cevabı yazarken bana zaman kazandın :)
Michael Brown

1
+1. Bu çözüm netliği azaltmadan okunabilirliği artırır.
John Cartwright
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.