2009-10-12 14 views
7

¿Cuál es el Framework Design Guideline para nombrar propiedades booleanas? Si no hay uno, ¿cuál es su recomendación?¿Cuál es el FDG para nombrar propiedades booleanas?

Digamos que tengo una clase User, y necesito una propiedad que especifique si el usuario está habilitado o no. Estas son las opciones que se me ocurren:

  • Habilitar
  • Activado
  • IsEnabled
  • Desactivar
  • discapacitados
  • IsDisabled

Además, si el BL dice que la el usuario debe estar deshabilitado de manera predeterminada y habilitado explícitamente, si prefiero una variación 'enable', co nsidering que el valor predeterminado para System.Boolean es false?

Respuesta

8

Las Directrices de diseño del marco (Brad Abrahms y Krzysztof Cwalina) dicen usar Enabled o IsEnabled (sección 3.6.2). Dicen que usen frases afirmativas (es decir, CanSeek en lugar de CantSeek) y que utilicen la versión más legible (es decir, Created es más legible que IsCreated).

Usaría personalmente Enabled en su caso, con un valor predeterminado de false. User.Enabled lee bien y es claro en lo que significa.

+0

Es interesante cómo algunos códigos de Microsoft no siguen esta directriz, p. System.Web.Mvc.MvcHandler tiene una propiedad estática DisableMvcResponseHeader. ¿Por qué eligieron usar Disable? ¿es porque está habilitado por defecto y bool es falso de forma predeterminada, por lo tanto, NO está deshabilitado de forma predeterminada? –

2

Evitaría la variación "deshabilitada", ya que un doble negativo como "disabled = false" es mucho más difícil de comprender que "enabled = true".

También preferiría una forma adjetival para una propiedad del verbo "habilitar", que sería un mejor nombre para el método.

Eso se reduce a "habilitado" o "isEnabled", que es probablemente una cuestión de estilo personal & convención. Este último enfatiza que es un bool; el primero es más sucinto.

Cuestiones relacionadas