Denominazione di classi e interfacce correlate

9

Ho creato una classe ObjectParser che analizza i dati in oggetti strongmente tipizzati utilizzando IObjectParserDataSource come origine dati (i dati potrebbero essere un file Excel, un file di testo, un array, una stringa di query, ecc.)

Esempi delle mie implementazioni di IObjectParserDataSource sono:

  • TextFileObjectParserDataSource
  • ExcelFileObjectParserDataSource

Questi nomi di classe mi sembrano davvero lunghi e contorti.

Potrei nominarli:

  • TextFileDataSource
  • ExcelFileDataSource

Ma questo introduce un livello di ambiguità e non diventano chiaramente correlati a IObjectParserDataSource a prima vista. Questo diventa importante perché la definizione di queste fonti di dati avverrà nel codice client e desidero minimizzare la potenziale confusione e incertezza.

Come chiameresti queste classi in uno scenario del genere?

    
posta davenewza 22.04.2013 - 16:49
fonte

1 risposta

22

In genere cerco di aggirare questo problema attaccando tutti gli oggetti simili in uno spazio dei nomi e semplificando i loro nomi (se posso farlo).

Ad esempio, avrebbe

namespace ObjectParserDataSources
|
|-> class TextFileSource
|-> class ExcelFileSource

Oppure, se la raccolta di oggetti che lavorano con / service ObjectParser diventa abbastanza grande, creo un albero di cartelle o un progetto separato dedicato solo a ObjectParser:

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

All'interno di un determinato file, le istruzioni di importazione e il contesto del codice di solito rendono abbastanza chiaro che TextFileSource è l'origine dati ObjectParser . Se ci sono più classi con nomi simili nello stesso pezzo di codice, puoi fare riferimento a TextFileSource con il suo nome completo:

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

Di solito si verifica molto raramente e non mi interessa digitare alcune parole in più.

    
risposta data 22.04.2013 - 17:05
fonte

Leggi altre domande sui tag