2009-08-25 5 views
0

Quelle est la manière appropriée (plus lisible) d'énumérer les noms? vous considérez:FilterOperators ou FilterOperatorType - Le format de nommage correct pour une énumération en C#

enum FilterOperators 
{ 
    IsEqual, 
    Contains, 
    StartsWith 
} 

class QueryFilter 
{ 
    FilterOperators Operator{get;set;} 
} 

var filter = new QueryFilter(); 
filter.Operator = FilterOperators.IsEqual; 

Ou est-ce préférable

enum FilterOperatorType 
{ 
    IsEqual, 
    Contains, 
    StartsWith 
} 

class QueryFilter 
{ 
    FilterOperators Operator{get;set;} 
} 

var filter = new QueryFilter(); 
filter.Operator = FilterOperatorType.IsEqual; 

Aussi, Couleurs ou colorType?

Répondre

3

IrritatedVowel.com suggère ce qui suit:

énumérations

standard sur la base de Microsoft .NET Library Standards

Suivez les conventions de nommage des classes. Ne pas ajouter "Enum" à la fin du nom d'énumération . Si l'énumération représente un ensemble de drapeaux bit à bit, terminez par le nom avec un pluriel.

Pourquoi: Cette convention est conforme avec le .NET Framework et est facile à lecture.

Exemple:

SearchOptions (drapeaux au niveau du bit)

AcceptRejectRule (ENUM normale)

En tant que tel, je crois que le choix préféré serait FilterOperator.

+0

Quant à votre dernière suggestion, il semble que dans la pratique courante, vous pourriez avoir une classe « FilterOperator » qui est l'un des types spécifiés, ainsi le nom de votre ENUM ' FilterOperator 'dans la classe, serait déroutant. .NET lui-même ne le fait pas, mais utilise plutôt le pluriel du type. C'est à dire. FontFamily.FontFamilies – DeusAduro

+0

Je suis d'accord, le type est presque aussi redondant que l'ajout d'Enum. J'utiliser FilterOperator et Color (C# utilise Color not ColorType) – SwDevMan81

+0

@ SwDevMan81, à peu près sûr que .NET utilise 'Color.Colors' pour l'énumération, au moins en 3.5. – DeusAduro

1

Je pense qu'il s'agit de convenir d'un standard (vous pouvez définir le vôtre) et de s'y tenir. Je dirais que l'ajout de "Type" semble être une bonne idée, même si pour quelque chose d'aussi simple que "Color" cela peut sembler un peu stupide. Cela laisse entendre que c'est une énumération, ce que je trouve bien.

Je dirais aller pour le dernier exemple :)

0

Cela est extrêmement subjective, mais la première chose qui vient à l'esprit est « Couleurs » qui me frappe comme une liste de plusieurs couleurs et semble appropriée. Cependant, pour une liste plus petite, comme 'FilterOperatorType', le '... Type' semble approprié. En bref, si leur nombre est grand, le pluriel du mot semble approprié, s'ils sont peu nombreux et représentent de grandes catégories, le '... Type' semble approprié.

2

Le « design-cadre d'orientation », dit:

  • Utilisez-un type singulier à moins que son un champ de bits
  • Utilisez-plusieurs types de drapeaux énumérations (champs de bits)
  • Ne pas utiliser la suffixe ENUM
  • ne pas utiliser le drapeau ou drapeaux
  • suffixes ne pas utiliser un préfixe (par exemple ADO ...)

Donc, ma suggestion serait FilterOperator

Questions connexes