2010-08-26 19 views
21

Quiero crear una interfaz para "Artículos". Típicamente, nombraría una interfaz al agregar un prefijo "I" a una palabra base. Pero en este caso mi palabra base ya comienza con una I. Aquí hay un par de ideas que he tenido¿Cómo puedo nombrar una interfaz cuando la palabra base comienza con un I?

  • iItem: Dos de I
  • iItem: Variar el caso
  • ItemInterface : Omita el prefijo I y escriba Interfaz

¿Qué aspecto es el mejor? ¿Alguien más se ha encontrado con este problema? ¿Si asi es, Qué hiciste?

+7

Jaja, esto siempre me ha molestado también. Me alegra saber que no soy el único;) –

+1

@Dan Tao: Por supuesto que te molesta. Eres un ingeniero. :) –

Respuesta

27

Aunque es difícil de leer, IItem estaría en consonancia con algunos "II" interfaces existentes:

+0

Estaba luchando por encontrar ejemplos tan rápido, pero no tuve éxito ... :-) –

+0

@Stefan: ¡gracias, fue una búsqueda divertida! :) –

+0

Gracias IItem es entonces –

7

Simplemente IItem. No hay necesidad de una excepción.

Las interfaces comienzan con dos letras mayúsculas (I [A-Z]), que las identifican como una interfaz. Entonces Item no es una interfaz, pero IItem es.

3

Edit 12/08/2016: he proporcionado originalmente esta respuesta como una perspectiva alternativa sobre las convenciones de nombres. Mi día a día C# ahora usa I -prefijación para mantener las cosas idiomáticas y reducir la carga cognitiva a través de la consistencia. Creo que la coherencia es más importante que los problemas que planteo a continuación. En resumen, se adhieren a las convenciones de la base de código que se está trabajando.


Sólo Item. No porque la interfaz comience con I, sino más bien porque no es necesario el prefijo de las clases con letras de identificación. La decoración de interfaces con I es tan fea como abofetear C antes de los nombres de la clase concreta (a la MFC). Prefigurar tipos con cualquier cosa es tan malo como usar la notación húngara.

Se podría argumentar que realmente le da valor semántico, pero no estoy convencido. Tengo un IDE moderno y no necesito que los nombres de mi tipo sean más complejos.

+3

¿Entonces la postfijación con el nombre completo es mejor que un prefijo de una letra? –

+0

@Esteban Araya: Lo siento, no estoy seguro de entender lo que estás diciendo. Si te refieres a usar lenguajes dinámicos, bueno, eso es una llama de fuego completamente diferente :) –

+10

Lo siento, -1 de mí, la convención dentro del .NET Framework es que las interfaces tengan el prefijo "I". No hacer eso crea un código que no es tan comprensible para cualquiera que no sea usted y necesite mantener su base de código en el futuro. Me gusta o lo aborrezco, la consistencia es el rey =) – Rob

2

De acuerdo con el convenio de nomenclatura .Net El nombre de la interfaz debe ir precedido por la letra mayúscula 'I' seguida del nombre de la interfaz en el caso Camel.

Por lo tanto, sugerimos que a nombre de la interfaz de artículos como:

IItem 
No

necesario mencionar 'Interfaz' al final porque la letra 'I' en el propio inicio dice que es la interfaz, no requieren mencionar explícitamente

Cuestiones relacionadas