2009-07-28 9 views
36

¿Qué nombres encuentras colocando regularmente al final de tus clases?¿Qué nombres te encuentras anteponiendo/añadiendo a clases regularmente?

Por ejemplo, tengo la costumbre de pegarse Info en clases que pasan a la información en todo, pero no hacen mucho:

  • ImportInfo
  • SiteInfo

O para las clases de coordinación :

  • UserManager
  • SecurityManager

que terminan usando Builder muy a menudo para las clases relacionadas con cuerda, incluso si apenas hace cualquier edificio:

  • TemplateBuilder
  • HtmlBuilder

Y de Por supuesto, la clase intemporal de Ayuda/Utilidad:

  • PhraseHelper
  • NumberUtility
  • FileHelper

¿Tienes alguna buena, y me refiero a concisos y descriptivos, sustantivos o palabras que utiliza habitualmente para referirse a la clase papel principal?

Esta pregunta está dirigida al mundo .NET, pero puede extenderse a Java, C++, Python, etc.

Respuesta

4

Util

  • EnumUtil
  • ParseUtil
  • StringUtil
  • etc ...
5

utilizo Proveedor y ayudante mucho.

2

Si mi clase está haciendo específicamente cálculos, voy a anteponer Calc

Ejemplos:

  • TaxCalc
  • TipCalc
  • datecalc
0

por eso, por supuesto ...

Base

funciona en ambos lados.

;-)

1
  • fábrica
  • ayudante
  • Utilidades
  • Trabajo
  • Entidad
0

Controller y View.

1

Tests en las clases de prueba

3

Base, lector, escritor, director, archivo .. algunos otros.

+0

Sí, Base uso con bastante frecuencia. – RichardOD

5

Añado el nombre del patrón al final si sigo uno (es decir, FooRepository).
Intentando evitar -Helper, -Manager, -Utils.

+8

+1: esos nombres de 'Ayuda' y 'Administrador' generalmente implican que está terminando un sistema de procedimientos y pretendiendo que está orientado a objetos. No hay nada de malo en el enfoque de procedimiento, pero si desea los beneficios de la orientación del objeto, entonces los objetos deben realizar su propio comportamiento en su mayor parte. – Kylotan

+1

+1 por decir que debes evitar a Helper, Manager, etc. – rmeador

+8

¿Qué es el procedimiento sobre la palabra Manager? Ayudante que puedo entender, y Util y Tools, pero Manager parece que se presta a ser un objeto. –

1

En ocasiones utilizo

Objetivo

Como en

  • UploadTarget
  • ProcessingTarget

no creo que tenía antes de Silverlight/WPF, pero Ahora también uso

convertidor

Como en:

  • CurrentTimeDisplayConverter
  • TimeDeltaConverter
2

me encuentro a veces se añade el nombre de la clase padre el que estoy escribiendo yo quiero heredar. A veces suena raro, especialmente con un ejemplo de Animal (DogAnimal, FishAnimal, ...), pero hace que encontrar subtipos sea más fácil en una lista de clases.

+6

LabradorDogCanineCarnivoreMammalVertebrateAnimalEukaryote, ese tipo de cosas? ;-) –

+0

Aunque bromeo, en realidad no creo que sea una mala idea, ya que en la práctica es bastante común tener jerarquías de dos niveles. WindowsThingy, LinuxThingy, MacOShingy; LoopbackWotsit, NetworkWotsit, SerialWotsit; MysqlAdaptor, SqlserverAdaptor, SqliteAdaptor. –

+0

jaja, sí, por lo general me detengo a las dos. La mayoría de la herencia más allá de eso es de la API. – Chet

1

estoy usando a menudo:

  • Protocolo (específico implementación del protocolo )
  • Manager (Clase gestión del proceso)
  • emulador (Emular algo ...)
30

Puede echar un vistazo a source-code-wordle.de, he analizado allí los sufijos utilizados con mayor frecuencia de los nombres de clase de .NET framework y algunas otras bibliotecas.

El top 20 son:

  • atributo
  • tipo
  • ayudante
  • colección
  • convertidor
  • manejador
  • información
  • proveedor de
  • excepción
  • servicio
  • elemento
  • gerente
  • nodo
  • opción
  • fábrica
  • contexto
  • elemento
  • diseñador
  • de base
  • editor
+1

+1 para el enlace a wordle. Excelente forma de visualizar el uso de nombres. –

+0

Es interesante ver que el marco tiene más tipos de Atributos (anotaciones) que Excepciones :) – TWiStErRob

Cuestiones relacionadas