Convenciones de nomenclatura: directrices para verbos / sustantivos y uso de gramática inglesa

StackOverflow https://stackoverflow.com/questions/412839

  •  03-07-2019
  •  | 
  •  

Pregunta

¿Puede alguien dirigirme a un sitio o darme un poco de sabiduría sobre cómo elegir nombres para interfaces, clases y quizás incluso métodos y propiedades relacionados con lo que hace ese objeto o método?

Esto es específicamente para el desarrollo de Microsoft, por lo que Java es " doGet " y así sucesivamente no se usa, sin embargo, deben existir algunas reglas generales que cruzan las barreras lingüísticas (pensaría).

Un ejemplo podría ayudar: tengo 4 opciones de nombres para una interfaz:

IGroupedItem
IGroupableItem
IDataEntity
IGroupedEntity

Todos contienen un adjetivo y el sustantivo, o simplemente un sustantivo. En cuanto a .NET Framework, parece que debe haber algún tipo de conjunto de reglas para esto, para mantener la coherencia. Aparte de los verbos obvios para los métodos.

Editar: Aunque el ejemplo es una interfaz, no estoy limitando esto solo a las interfaces. La pauta general es que las clases son sustantivos, métodos, verbos, propiedades sustantivos. Supongo que lo que quiero decir es la elección del sinónimo. Está lanzando '' Entidad '' por todas partes mal

¿Fue útil?

Solución

Mire los artículos de MSDN para nombrarlos pautas En resumen:

  • Use sustantivos para nombres de clase y nombres de propiedad (es obvio)
  • Para los nombres de la interfaz, comience con I y use sustantivos y / o adjetivos para describir el comportamiento
  • Usa verbos para nombres de métodos para describir acciones

Para su ejemplo: IGroupableItem.

Otros consejos

Las interfaces son cosas que una clase es capaz de hacer. No es lo que es , sino lo que puede hacer .

IGroupableItem

Otros nombres describen qué cosas son o son demasiado vagas para ser útiles.

Específicamente, " IDataEntity " es en gran parte sin sentido. Después de todo, todo es una entidad de datos.

MSDN tiene un artículo solo en Pautas para el nombre de la interfaz eso puede ayudarte. Si desea las convenciones de nomenclatura de otras cosas que no sean interfaces, junto con muchas otras pautas de nomenclatura y diseño, también puede encontrar todo en MSDN.

Este es el mismo material que la respuesta de Spodi, pero Directrices de diseño para la clase de MSDN Los desarrolladores de bibliotecas son en su mayoría excelentes, cubren naming y mucho , mucho más.

Hay un buen artículo Hacer que el código incorrecto parezca incorrecto por Joel Spolsky. Habla de una convención de nombres no muy popular, pero muy útil.

Además de las Directrices de MSDN, hay un documento de estándares de codificación C # de IDesign de Juval Lowy que es bastante útil (no sé si / cuánto difiere de MSDN).

Estándares de codificación C #

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top