Convenzioni di denominazione per l'unica implementazione prevista di un'interfaccia [chiusa]

5

Se decidi che "Program to An Interface" supera YAGNI e decidi di creare un supertipo in cui non prevedi nulla di diverso da una ovvia implementazione: esiste una convenzione per nominare l'ovvio tipo concreto? Per esempio. stamattina ho scritto una classe chiamata PlainOldConversionReport e mi chiedo se quel nome tradisca l'ignoranza della convenzione. Ci sarebbe un nome più normale, nello sviluppo orientato agli oggetti in generale o .Net o C # in particolare, da dare a un sottotipo non specializzato di IConversionReport?

    
posta MakeMinePanacea 30.12.2011 - 15:37
fonte

3 risposte

4

Se non esiste un nome ovvio per la specializzazione nella singola implementazione, i miei team hanno sempre usato normalmente Impl come suffisso. Se c'è un nome ovvio, lo terrei con me anche se sarà l'unica implementazione.

    
risposta data 30.12.2011 - 15:52
fonte
5

Per IConversionReport, utilizzerei semplicemente ConversionReport. Immagino che tu lo sappia già, ma IXXXX e XXXX sono un po 'di odore di codice. Penso che dovresti probabilmente pensare un po 'più difficile per vedere se c'è un nome migliore che dia qualche indizio su quale sia l'implementazione (o rilascia l'interfaccia se non stai facendo nessuna composizione né scambia le diverse implementazioni).

    
risposta data 30.12.2011 - 16:55
fonte
2

Io uso un prefisso di Base , quindi BaseConversionReport .

Ho chiaramente letto male la domanda. Mie scuse. Se esiste una semplice implementazione standard di bog per ConversionReport, lo chiamerei semplicemente ConversionReport o StandardConversionReport e chiamerò SuperType BaseConversionReport (o ConversionReportBase.)

    
risposta data 30.12.2011 - 16:00
fonte

Leggi altre domande sui tag