Ho un problema su come nominare i miei spazi dei nomi e le mie classi. Ho già capito che non dovrebbero avere entrambi lo stesso nome, poiché causano tutti i tipi di problemi. Il problema più notevole per me è che ho bisogno di qualificare pienamente la classe o fare un alias. Ecco cosa ho:
Model.DataSource.DataSource
Model.DataSource.FileSystemDataSource
Model.DataSource.JsonDataSource
Model.DataSource.XmlDataSource
Model.DataSource.DataSourceConstraints
Model.DataSource.DataSourceStorage
Model.DataSource.DataTable
... // more others
Model.QueryStorage.QueryStorage
Model.QueryStorage.FileSystemQueryStorage
... // more others
Model.Project.Project
Model.Project.ProjectFactory
Come puoi vedere, ho 3 classi che hanno lo stesso nome dei pacchetti in cui si trovano. Due di esse sono interfacce, quindi potrei prendere in considerazione il loro prefisso con I
, ma in realtà non mi piace questa convenzione. Ho anche ascoltato la proposta di nominare un pacchetto come ProjectUtils
o qualcosa del genere. Ma penso che questi non siano utils, sono oggetti di dominio legit. Potrei fare alias, con using
, ma qual è un nome migliore per Project
rispetto a Project
?
Non riesco a trovare un modo per avere nomi ragionevoli per le mie classi senza duplicati.