Is vs. Can
Secondo le raccomandazioni della convenzione di denominazione di Microsoft , sia "Is" che "Can" sono OK (e così anche "Has") come prefisso per un valore booleano.
In parole povere, "Is" verrebbe utilizzato per identificare qualcosa sul tipo stesso, non su ciò che può fare. Ad esempio, IsFixed
, IsDerivedFrom
, IsNullable
possono essere trovati nei tipi e metodi CLR. In tutti questi casi, "Is" è seguito da un aggettivo .
Nel frattempo, "può" più chiaramente indica una capacità, per esempio CanEdit
, CanRead
, CanSeek
. In ciascuno di questi casi, can è seguito da un verbo .
Poiché "Support" è un verbo, penso che nel tuo caso CanSupportContentType
sia meglio.
Alternativa più breve
D'altra parte, le convenzioni affermano che il prefisso è facoltativo. Inoltre, è un po 'banale includere il tipo di argomento nel nome del metodo, poiché uno sviluppatore può vedere il tipo di argomento in intellisense. Così si potrebbe semplicemente nominare il metodo Supports
e definire in questo modo:
public bool Supports(System.Net.Mime.ContentType contentType)
... che è più breve e comunica chiaramente lo scopo. Lo chiameresti così:
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
O come compromesso forse questo è il migliore:
public bool CanSupport(System.Net.Mime.ContentType contentType)